|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Lisp. авто-нумерация атрибута блока.
Murmansk
Регистрация: 20.12.2005
Сообщений: 106
|
||
Просмотров: 9296
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Если именно через entget то (cdr (assoc 2 ...)), но на динамический блок вернет имя автоматически созданного вхождения, а не описания блока, так что возможно потребуется (vla-get-effectivename ...) - через dxf его копать долго да и незачем.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Регистрация: 20.12.2005
Murmansk
Сообщений: 106
|
Цитата:
Я их для динамики и не использую так, что подойдёт и entget. однако, если правильно понял должно быть как-то так: (setq blcName (cdr (assoc 2 (entget (entsel "\nPick Block with NUM attribute >> \n"))))) но даёт ошибку: ; error: bad argument type: lentityp (<Entity name: 7ffffb70dd0> (-749.643 484.27 0.0))
__________________
Tekla support |
|||
![]() |
|
||||
Автокад выдал подсказку
lentityp (<Entity name: 7ffffb70dd0> (-749.643 484.27 0.0 Entsel возвращает список, состоящий из примитива и координаты точки куда тыркнули, а entget-y требуется только примитив.
__________________
Знание лисп: со справочником Н. Полещука |
||||
![]() |
|
||||
Регистрация: 20.12.2005
Murmansk
Сообщений: 106
|
Ура! Получилось. Спасибо. Теперь следущий вопрос. Что-то я с функцией cond натворил, и судя по всему что-то не то:
Код:
NumberTest2.lsp successfully loaded. Command: ; error: malformed list on input UPD: Исправил. Спасибо Klo. Но теперь при запуске при вводе первой точки (fpt) в любых вариантах дает ошибку: ERROR: bad point argument
__________________
Tekla support Последний раз редактировалось DonJad, 23.10.2014 в 11:06. |
|||
![]() |
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,007
|
|
|||
![]() |
|
||||
Регистрация: 20.12.2005
Murmansk
Сообщений: 106
|
Цитата:
Но лисп мне как-то милее. Заодно хороший повод разобраться.
__________________
Tekla support |
|||
![]() |
|
||||
Регистрация: 20.12.2005
Murmansk
Сообщений: 106
|
Код:
вот накатал небольшой тест для собственного понимания вопрса. в tt - помещаются все блоки в tt1 и tt2 - пытаюсь получить ссылку на динамический блок shina, вхождения которого почему то имеют имя *U201, впрочем и так и эдак возвращается nil. в tt3 - попадают обычные блоки с названием "terminal" при этом в tt - вижу и блоки terminal и *U201... как мне в tt1 или tt2 получить, что-то отличное от nil?
__________________
Tekla support |
|||
![]() |
|
||||
подсмотри тут про работу с блоками.
вот такa вот функция поможет тебе вытащить все блоки (динамические в том числе) с именем определенным. пример вызова: (test_bl <name block>) Код:
или это должно работать тоже Код:
__________________
Знание лисп: со справочником Н. Полещука Последний раз редактировалось nolte, 26.10.2014 в 02:48. |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Назначение свойств атрибутов блока без attsync | Кулик Алексей aka kpblc | Программирование | 9 | 15.08.2017 06:32 |
Проблема с базовой точкой блока и вхождением блока в DXF | nogaems | Программирование | 5 | 29.08.2013 15:46 |
Извлечение атрибутов блока и вставка атрибутов в формулу | andery | AutoCAD | 38 | 15.06.2009 02:39 |
Редактирование блока, используя значение его атрибутов | Mazai | Программирование | 14 | 19.01.2009 20:49 |
Изменение характеристик атрибутов в вхождении блока | zenon | AutoCAD | 9 | 27.11.2008 14:43 |