|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Помогите с написанием програмки по автоматическому созданию слоёв
Регистрация: 01.12.2009
Сообщений: 62
|
||
Просмотров: 6284
|
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Дима_, у Вас можно учиться искусству программирования на лиспе, только вот у меня вопрос. Конструкция (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget "_a"(list (cons 0 "insert")))))) вернет только все вхождения блоков, а не описания. А Андрей Будзинский вроде просил:
Цитата:
|
|||
![]() |
|
||||
Регистрация: 01.12.2009
Сообщений: 62
|
Спасибо что откликнулись!
TararykovDG, Вы абсолютно правы. Необходимо на созданные слои поместить лишь одно описание блока (или одну копию блока). Дима_, Вам большое спасибо, что откликнулись. Но я немного нечётко сформулировал задачу. Вобщем, нужно чтобы существующие блоки не перекидывались на новые слои, а лишь копировался один из блоков на слой с соответствующим именем. Можно даже не блок, а объекты, входящие в описание блока. Так после выполнения лиспа для приведённого примера, на 0 слое осталось всё без изменения, а на новые слои скопировалось по одному блоку (на слой Блок 1 - 1 блок с именем Блок-1 и т.д.). Если несложно, подмодифицируйте код, чтобы он выполнял эту задачу. Большое спасибо! |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Модифицированный вариант команды от Димы_. Не оптимально, но зато быстро
![]() Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 27.09.2010 в 18:03. |
|||
![]() |
|
||||
Цитата:
Offtop: Курсовая работа? ![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
Цитата:
и еще, как сказал hwd скопировать надо вхождение блока или описание? В чертеже может быть описано несколько блоков, например Блок1, Блок2, ..., Блок10, а вставлены в чертеж только Блок1 и Блок2, причем несколько раз, это вхождения блоков, так вот программы Дима_ и VVA создадут слои Блок1 и Блок2. Далее у Дима_ все вхождения блоков Блок1 и Блок2 перейдут соответственно на слои Блок1 и Блок2, а у VVA на слои Блок1 и Блок2 будут скопированы по одному вхождению блоков Блок1 и Блок2. Но вот блоки Блок3...Блок10 останутся без внимания и соответствующих слоев не появиться. А как нужно Вам, так и осталось вопросом? Последний раз редактировалось TararykovDG, 27.09.2010 в 19:17. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Не, ребята, вопросов еще больше
![]() А что делать с вложенными блоками? А как обрабатывать внешние ссылки? И все-таки: копировать или перемещать блоки (принимая, что значения и настройки атрибутов должны быть продублированы)?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Засечки/стрелки у размеров/выносок - тоже проставляются вхождениями блоков. Под засечки/стрелки так же требуется отдельный слой?
![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну вот, Андрей, такой облом спалил
![]() Автору: чем точнее техзадание, тем быстрее и точнее будет решение ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 01.12.2009
Сообщений: 62
|
Спасибо огромное!
Код Димы подправленный VVA полностью решил задачу. Ну и хочу внести ясность, зачем мне всё это понадобилось. Значит есть модель, содержащая много описаний блоков с разными количествами вхождений. Большинство документов подготавливалось именно с использованием всей модели. Но в конце нужно было сделать чертёжик, где указаны размеры каждого описания блока. Более того, для наглядности каждый нужно было расположить в нескольких ВЭ. Поместить в ВЭ только описание блока похоже невозможно. Поэтому эту задачу можно решить, управляя видимостью слоя в ВЭ. Создавать слои и копировать на них блоки вручную - довольно тяжёлая задача. Вот поэтому и решил обратиться за помощью. Ещё раз большое спасибо! |
|||
![]() |
|
||||
Похоже, что вы не понимаете, что такое описание (правильнее - определение) блока, а что такое вхождение блока.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
"Правильный" блок это: 1. Блок, у которого все примитивы находятся на слое "0". 2. Все примитивы блока имеют свойства "ByBlock" (некоторые, возможно - ByLayer). Некоторые, возможно, "кокретный цвет". Главное - слой "0". "Правильный" блок, при вставке на любой слой наследует свойства текущего (в момент вставки) слоя. Т.е. примитивы правильного блока будут как бы размещены на этом слое. Если, например, для видового экрана будет заморожен какой-то слой, то будут невидимы и все правильные блоки. Но правильные блоки, вставленные в видимые слои, останутся видимыми. Плодить описаний блокв не нужно! Не нужны и "программки". |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
окружность - для отображения самой точки; атрибут1 - высотная отметка точки; атрибут2 - код точки; (например: "R" - рельефная точка; "1" - точка 1-го пути; "BR" - бровка и т. д.) атрибут3 - порядковый номер точки; при отрисовки плана съемки необходимо видеть все атрибуты, а вот для печати атрибут2 и атрибут3 необходимо убрать. Для этого я в определении блока разнес все атрибуты по своим слоям, теперь отключая и включая слои я могу когда мне убирать и снова отображать атрибут2 и атрибут3, назначать им разные цвета задавая цвет слою. Чем же этот блок "неправильный"?
__________________
cadtools |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А не проще ли было поместить атрибуты на непечатаемый слой?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Кулик Алексей aka kpblc, дело не только в печати. При работе с чертежем то нужны, то не нужны некоторые атрибуты. Изыскатели привезли съемку и рисуют план. Куча точек, надо нарисовать здания, откосы (провести линии бровки и подошвы) и ещё ... Нужны коды и номера точек. Потом чертеж взяли проектировщики, надо им посмотреть на горизонтали или на какую-нибудь трубы или еще что-то, им нужны только высотные отметки, теперь коды и номера только захломляют чертеж их надо убрать. Потом изыкатели вспомнили что еще не нанесли какой-нибудь кабель, снова нужны коды и номера и так не один раз и только потом печать чертежа без кодов и номеров? И как мне быть?
__________________
cadtools |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Не надо ни самому фантазировать, ни поддаваться на чужие фантазии. Вот когда появляется куча неведомых слоев, хитро переплетенных между изображениями блоков и атрибутов, это гораздо хуже. При грамотной организации работ посмотреть "полную" подоснову всегда можно. |
|||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
Цитата:
Цитата:
Цитата:
Я к сожалению, а может наоборот, к счастью, не руководитель фирмы, а программист и ни как не могу повлиять на грамотную организацию работы.
__________________
cadtools |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Полы по грунту в жилом доме - помогите выбрать состав слоёв | Минька | Конструкции зданий и сооружений | 17 | 06.08.2009 08:18 |
Профи помогите найти профессиональную програму по созданию.. | toXic1 | Прочее. Программное обеспечение | 4 | 07.12.2005 12:37 |