Вставка в пронумерованные объекты
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вставка в пронумерованные объекты

Вставка в пронумерованные объекты

Ответ
Поиск в этой теме
Непрочитано 21.10.2010, 16:06 #1
Вставка в пронумерованные объекты
junio77
 
Регистрация: 10.06.2010
Сообщений: 5

Здравствуйте уважаемые программисты! Помогите пожалуйста с проблемой... В общем есть план, в котором есть "туча" объектов типа текст (содержание которых - номер типа XX.XX.XX, но бывают разные.)
Они расставлены на плане по разному, (по кругу, кучками по секторам или покомнатно... в общем так, как удобно проектировщику).

Задача: добавить (или убрать) такой же объект, но чтобы его номер ВКЛИНИЛСЯ в общую нумерацию, то есть все последующие номера должны сдвинуться АВТОМАТИЧЕСКИ

чтобы наглядно было - привожу пример того, что должно получиться
есть должно быть
НВ.01.01 НВ.01.01
НВ.01.02 НВ.01.02
НВ.01.03 НВ.01.03
НВ.01.04 НВ.01.04
<- НВ.01.05
НВ.01.05 НВ.01.06
НВ.01.06 НВ.01.07
НВ.01.07 НВ.01.08
...... .....
НВ.01.100 НВ.01.101 (допустим...)

Та же самая проблема перенумеровки блоков с атрибутами (у более продвинутых проектировщиков )

Вручную переименовывать все объекты ОЧЕНЬ не хочется, да и времени мало. Может быть можно вносить данные из файла (*.xls или *.txt), это тоже можно как вариант рассмотреть.

Посоветуйте что-нибудь, пожалуйста!!!
Просмотров: 9475
 
Непрочитано 21.10.2010, 16:16
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


не знаю как другие, но я не смог понять в приведённом автором столбике, где то, что есть, а где то, что должно быть.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.10.2010, 16:28
#3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Это пример задачи где выяснение формата займет в 30 раз больше времени чем написание программы, время у меня сейчс мало - если сможешь описать всю "спецификацию" формата полностью "без вариантов" - напишу - а разъяснять чего надо - некогда.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 21.10.2010, 16:29
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Это пример задачи где выяснение формата займет в 30 раз больше времени чем написание программы
Займёт.... у тех, кто не знает, что такое регулярные выражения
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.10.2010, 16:36
#5
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


У меня похожая головная боль с перенумеровыванием опор. Пока додумался до того, что опоры автоматически нумеруются (по положению текста на чертеже - по возрастанию координаты X), если что-то не устраивает, правлю вручную специальным инструментом. Полученную последовательность ID объектов заношу во внешний файл. Эта часть написана, но довольно сыро, нужно переписывать...
В планах сделать инструмент, который будет вносить указанный номер на нужное место в последовательность, прочитанную из файла, а потом соответственно порядковому номеру объекта в списке производить перенумерацию.
Пока нет времени, чтоб сесть и дописать .
Будет интересно глянуть на готовую программу.
Do$ вне форума  
 
Непрочитано 21.10.2010, 16:42
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
Будет интересно глянуть на готовую программу.
Я могу написать такую программку. Но есть одно "НО" - поскольку ситуаций может быть бесчисленное множество, программа должна уметь выполнять поиск/модификацию/удаление текста/значений атрибута на основании регулярных выражений. Отсюда вывод - юзер должен уметь составлять регулярные выражения. В противном случае это будет то же, как если обезьяне дать гранату - последствия могут быть фатальными.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.10.2010, 16:47
#7
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от hwd Посмотреть сообщение
не знаю как другие, но я не смог понять в приведённом автором столбике, где то, что есть, а где то, что должно быть.
Цитата:
Сообщение от hwd Посмотреть сообщение
Займёт.... у тех, кто не знает, что такое регулярные выражения
Судя по этим двум высказыванием Вы, либо не знаете, что такое "регулярные выражения", либо знания о них не достаточно для решения задачи автора.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 21.10.2010, 16:48
#8
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Судя по этим двум высказыванием Вы, либо не знаете, что такое "регулярные выражения", либо знания о них не достаточно для решения задачи автора.
Да я и автокада-то не видел никогда
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.10.2010, 16:48
#9
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Do$, если у тебя блоки, то кто мешает использовать attin и attout из ET?
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 21.10.2010, 16:50
#10
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


То hwd - может все таки второе (да и у автора пока нигде не сказанно, что "это" должно соответствует регулярным выражениям - это уже Вы "притянули").
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 21.10.2010, 16:59
#11
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


>Дима_
и в чём же продемонстрировано моё незнание регексов? Поясните уж тогда мне, неучу, для чего они используются, и почему они мною упомянуты "не в тему".

Если я дам решение топика с использованием регексов - это наглядно продемонстрирует, что своим утверждением вы сами себя посадили в лужу? Или это будет неубедительно (типа "мне просто повезло") ?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.10.2010, 17:04
#12
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Лиспер, к стыду своему, я про такое не знал. Собственно эти команды делают часть того, что я в #5 описал, только не с текстами а с атрибутами. Инструмент хорош, но его надо дополнять. Не вручную же текстовый файлик править, прописывая хендлы, имена блоков и значения атрибутов.
За наводку спасибо! Получается, что хендл объекта - такой же постоянный идентификатор объекта, как и ID?
Do$ вне форума  
 
Непрочитано 21.10.2010, 17:09
#13
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
олучается, что хендл объекта - такой же постоянный идентификатор объекта, как и ID?
Хэндл постоянен, а идентификатор постоянен только в рамках текущей сессии работы базы данных чертежа. Здесь более подробно.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 21.10.2010 в 17:14.
hwd вне форума  
 
Непрочитано 21.10.2010, 17:12
#14
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от Do$ Посмотреть сообщение
Получается, что хендл объекта - такой же постоянный идентификатор объекта, как и ID?
На этом можешь обжечься
Handle постоянный а ObjectID может изменится в другой сессии
Олег (jr.) вне форума  
 
Непрочитано 21.10.2010, 17:26
#15
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Надо же! hwd, Олег (jr.) спасибо, учту!
Не совсем понятно тогда, почему в полях идет ссылка на ID объекта?
Do$ вне форума  
 
Непрочитано 21.10.2010, 17:34
#16
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
Не совсем понятно тогда, почему в полях идет ссылка на ID объекта?
AutoCAD их сам пересчитывает при открытии/сохранении чертежа.
Александр Ривилис вне форума  
 
Непрочитано 21.10.2010, 17:38
#17
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от hwd Посмотреть сообщение
и в чём же продемонстрировано моё незнание регексов?
Я такого не говорил - под незнанием второго имел в виду - самоцитата - "либо знания о них не достаточно для решения задачи автора." т.к., что у него на уме и в чертеже мне например не ясно. Если Вы дадите решение с помощью регексов - это будет говорить о том, что используется именно они - а так это или нет мне пока не ясно.
p.s.Откуда растет Ваше стремление посадить меня в лужу???
p.p.s ключевыми словами в топике автора являются "(содержание которых - номер типа XX.XX.XX, но бывают разные.)" а вот выяснить что под этим подразумевается - дело не простое - а чем решать - тут ИХМО проблемы нет.
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 21.10.2010 в 18:00.
Дима_ вне форума  
 
Непрочитано 21.10.2010, 17:47
#18
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Александр Ривилис, спасибо, теперь полная ясность
Offtop: Разборки типа:
hwd vs ShaggyDoc
hwd vs Дима_
...
в последнее время стали уже неотъемлемой частью этого форума. Неспокойный он парень
Do$ вне форума  
 
Непрочитано 21.10.2010, 17:47
#19
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Я такого не говорил
Ой ли? А это чьё:
Цитата:
Сообщение от Дима_ Посмотреть сообщение
Судя по этим двум высказыванием Вы, либо не знаете, что такое "регулярные выражения", либо знания о них не достаточно для решения задачи автора.

Цитата:
Сообщение от Do$
последнее время стали уже неотъемлемой частью этого форума. Неспокойный он парень
аке, я умолкаю, но млин, аналитику и модификацию текста грамотней выполнять с помощью регексов (тема регексов сложная, но однозначно нужная любому программеру).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.10.2010, 18:00
#20
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Это понятно... Без них бы пока разобраться - у меня просто номера. От 1 до ~200-300. Принцип и алгоритм ясен, надо садиться писать.
А автору темы, может быть и понадобятся...
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вставка в пронумерованные объекты



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Разорвать объекты в точках пересечения. BreakObjects. VVA Готовые программы 110 25.02.2022 07:33
Как удобней копировать объекты VVN AutoCAD 15 20.10.2016 01:24
Как определить стоимость проектных работ, если не известна стоимость строительства? dextron3 Поиск литературы, чертежей, моделей и прочих материалов 37 27.08.2014 18:32
пропали объекты с разных слоёв chili-9 AutoCAD 14 19.11.2009 17:14
Невидимые объекты Vova AutoCAD 9 15.09.2004 17:24