|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Во-первых, не путай BlockDefinition и BlockReference. Во-вторых, твою задачу легче решать через обычный lisp, без применения ActiveX. ПРимерно так:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Может, проще будет сначала все же вхождение блока получить?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 21.12.2010
Сообщений: 20
|
идея такая, что мышкой указываю на атрибут, а в отчет (электрические схемы подключения ) будет уходить "tag"+"указанный атрибут". два выбора мышкой не хочу, т.к. возможно ошибиться. пока решил, для всех блоков, создать ассоциативный список всех Handle атрибутов и самого блока, а там искать по Handle
Цитата:
UPD: to P_S OwnerID подходит лучше, спасибо Последний раз редактировалось Neo, 13.04.2016 в 11:19. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 21.12.2010
Сообщений: 20
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Тогда опять же - при унифицированной системе атрибутов достаточно выбирать блоки, а уже макрос - в зависимости от его назначения - выдергивает нужные значения. И вероятность человеческого фактора меньше - это надо вообще мимо блока промахнуться в целом)
|
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Я некоторые атрибуты делаю скрытыми и храню в них какие-то данные, связанные с конкретным экземпляром блока. Например атрибут "ДЛИНА", где записывается какое-то число. Чтобы извлечь это значение я получаю атрибуты блока, прохожусь по ним в цикле и если таг очередного атрибута "ДЛИНА" - считываю его значение. Немного напрягает такой способ своей нерациональностью. Было бы гораздо проще, если бы вот это числовое значение извлекалось по какому-то ключу или заранее определенному индексу. Можно ли цеплять к блокам такие данные?
|
|||
![]() |
|
||||
Регистрация: 08.02.2012
Сообщений: 16
|
Добрый день, список представляет собой следующий вид ( (сила ( координаты точки приложения) (сила ( координаты точки приложения) и тд. ......). Не получается отсортировать его по возрастанию суммы координат (x+y) точек приложения.
Т.е. Из такого списка ((5.5 (3000.0 3000.0 0.0)) (10.0 (4500.0 3000.0 0.0)) (7.6 (1500.0 3000.0 0.0))) должен получиться ((7.6 (1500.0 3000.0 0.0)) (5.5 (3000.0 3000.0 0.0)) (10.0 (4500.0 3000.0 0.0))) Пробую Код:
|
|||
![]() |
|
||||
Регистрация: 21.12.2010
Сообщений: 20
|
to Сет : да и я тоже так делаю. В принципе у меня в блоках атрибутов не так и много, и пройтись циклом по каждому много времени не займет, но согласен, что рационально как-то. А если "ДЛИНА" будет не в атрибуте, то как её задавать на чертеже?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Как задавать - способов много. У меня, например, блок строки спецификации включает в себя различные данные, формируемые на стадии создания этой самой строки спецификации. Затем эти невизуальные данные используются для групповых спецификаций и прочего. Проходить циклом по каждому атрибуту и сравнивать каждый атрибут с требуемым именем в поисках нужного - довольно корявое решение. Тут даже дело не в затратах машинного времени (в данном случае это не критично), а, я бы сказал, в эстетике программирования
![]() |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Да правильно, я где-то здесь (может даже и в этой теме) выкладывал реализацию словарей (Map) на основе двоичных деревьев.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |