|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как сделать набор из примитивов, которые в блоках? (LISP)
Регистрация: 05.12.2010
Сообщений: 104
|
||
Просмотров: 5513
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Что значит "в объектах"? В описаниях блоков, что ли?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
Извиняюсь, если что не понятно. Просто я только недавно начал постигать программирование на AutoLisp.
Я имею ввиду блоки, например, блок состоящий из полилинии, а потом вставленный в чертеж. С помощью функции (ssget "_X" (list (cons 0 "LWPOLYLINE"))) я создаю набор всех примитивов типа "LWPOLYLINE" на чертеже. А те, полилинии, которые находятся в объектах не попадают в этот набор. Вот как можно получить доступ к примитивам в объектах? |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Код:
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
Цитата:
Все прекрасно работает, но как оказалось те форматки, которые созданы с помощью блоков, моя программа не видит. А поиск основывался на использовании только функции (ssget [<метод>] [<точка1> [<точка2>]] [<список>] [<фильтр>]). |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
В этом и зарыт "корень зла" - как вы сами убедились - это не так (еще и блоки). По каким параметрам полилинии Вы определяете формат? - хотя, повертье на слово, методология у Вас изначально тупиковая (уж лучше как раз на блоки ориентироватся, а вобще - как это рекомендует автодеск использовать лист).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
Цитата:
Форматку я сделал из динамического блока. Которая принимает формат от А4 и дальше, которые используют по ГОСТу. Т.е. все чертежи которые будут создаваться, будут использовать эти блоки (форматки). Не вижу проблемы и тупика.) |
|||
![]() |
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
Возможно) Я просто еще учусь) Поэтому и спросил на форуме. Ведь вроде объекты на LISPе называются vla-объекты, раз ты предлагаешь использовать функции с расширением vla-. А я вот не знал это те блоки или что то другое.)
|
|||
![]() |
|
||||
Регистрация: 25.07.2009
Сообщений: 22
|
Цитата:
2. Новый лист создается нужного формата с настройками на нужный принтер, можно написать название листа. 3. Можно вставить в лист 2 и более объектов разного размера расположеных далеко друг от друга (пример фасад и узел). 4. Вывод на печать большого числа листов осуществляется с помощью подшивки. 5. Нет необходимости включать и выключать слои. Все блокируется в листе. И многое многое другое... Совет: научитесь работать с листами и видовыми окнами. Автоматизация проектирования начинается с этого. |
|||
![]() |
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
А как посмотреть динамические свойства блока?
С помощью (tblsearch <таблица> <заголовок>) я максимум могу получить точку вставки. А вот если ввести в командной строке _LIST, то еще получаю размеры блока, т.е. длину и ширину форматки. Но как их получить другим способом я не знаю. =( Это все я умею. И черчу всегда 1:1. Но вот не хочу я использовать листы. Вот и все тут.) Последний раз редактировалось Shraybicus, 13.12.2010 в 18:01. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Посмотреть динамические свойства блока я настоятльно рекомендую через vla функции. С помощью tblsearch ... ты не получишь точку вставки вхождения блока - ты получишь его описание (доступ к примитивам входящим в блок - через dxf -2, далее entext до пустого символа nil). Кстати - если тебе нужно определить "габартные размеры" - есть специально заточенная функция vla-getboundingbox - вобщем ты либо изучи материал, либо задавай вопросы конкретней.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Поиск по форуму: http://www.google.ru/custom?hl=ru&in...ingbox&spell=1
|
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
в автокадовской справке по VB расписаны все функции
Код:
P.S. если считаешь меня умней - то послушай совет - РАБОТАЙ В ЛИСТЕ.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
Дима_, спасибо
Попробовал этот листинг. Испытуемый приложен к посту. Файл содержит динамический объект, который с помощью режима выбора может становиться форматом А4 книжный или А4 альбомный. Результат работы функции: ((0.0 0.0 0.0) (297.0 297.0 0.0)) А если нарисовать поллинию обычную, то результат как полагается. Что из себя представляют объекты вставленные в чертеж? ![]() |
|||
![]() |
|
||||
Это мы уже походили
![]() Конкретно - в этой теме. В двух словах: для динамического блока определяются габариты с учетом даже тех объектов, которые невидимы в текущем состоянии. Остальное ответы можно найти в указанной теме, даже на те вопросы, которые еще не были заданы, но возникнут в скором времени ![]() |
||||
![]() |
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
Цитата:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите, существуют ли практические руководства по Lisp? | vn | LISP | 261 | 26.11.2015 13:27 |
LISP для подсчета суммы длин линий | Kostinok | LISP | 18 | 26.04.2013 14:56 |
LISP для поиска групп (наборов) одинаковых примитивов и замена их блоком | ElectroBOG | LISP | 20 | 23.07.2010 16:00 |
Как сделать диалоговое окно, описанное в DCL файле и вызванное Lisp программой, немодальным? | E-degtyarev | LISP | 9 | 28.05.2010 09:10 |
Как сделать "прозрачный" lisp? | ASLYS | LISP | 21 | 01.06.2007 15:43 |