|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
24.02.2004, 00:30 | #1 | |
SSGET и XRECORD
Инженер по системам безопасности
Рига
Регистрация: 23.11.2003
Сообщений: 1,099
|
||
Просмотров: 4638
|
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>Startek
Спасибо, Леонид. Расширенные данные я "цеплять" умею. Дело в том что: 1) графический объект может быть в любой момент стерт (заблокированный слой тоже не панацея) 2) параметров которые я хочу сохранять довольно много, посему "вжиматься" в список точечных пар разрешенных для расширенных данных не хочеться. >VK Да мне тоже кажеться, что SSGET работает только с "графическими" объектами. Я уже создавал словарь "обычным" методом и вносил туда X-записи. Все работает. Но сегодня я попытался сделать это через ActiveX и застопорился на одном моменте. >ВСЕМ, ВСЕМ, ВСЕМ (программерам) Посему вопросик посложнее. Все по порядку. Создаем мы значит пользовательский словарь, вносим туда X-запись: Код:
В общем, вопрос с vla-SetXRecordData. Как правильно сформировать вариант типа Array и заполнить его значениями. Я что то совсем не понимаю, как элементы этого массива соотносяться с точечными парами которые в результате должны сохраняться в XRecord? [sm1401] |
|||
|
||||
AutoCAD/AutoLISP Регистрация: 27.08.2003
Seattle/USA
Сообщений: 1,133
|
>>Fantomas, vk
Вот что по этому поводу говорит HELP Или я опять не в ту степь?? Xrecord objects are used to store and manage arbitrary data. They are composed of DXF group codes with normal object groups (that is, non-xdata group codes), ranging from 1 through 369 for supported ranges. This object is similar in concept to xdata but is not limited by size or order. Xrecord objects are designed to work in such a way as not to offend releases R13c0 through R13c3. However, if read into a pre-R13c4 level of AutoCAD, xrecord objects disappear. The following examples provide methods for creating and listing xrecord data. (defun C:MAKEXRECORD( / xrec xname ) ; create the xrecord's data list. (setq xrec `((0 . "XRECORD")(100 . "AcDbXrecord") (1 . "This is a test xrecord list") (10 1.0 2.0 0.0) (40 . 3.14159) (50 . 3.14159) (62 . 1) (70 . 180)) ) ; use entmakex to create the xrecord with no owner. (setq xname (entmakex xrec)) ; add the new xrecord to the named object dictionary. (dictadd (namedobjdict) "XRECLIST" xname) (princ) ) (defun C:LISTXRECORD ( / xlist ) ; find the xrecord in the named object dictionary. (setq xlist (dictsearch (namedobjdict) "XRECLIST")) ; print out the xrecord's data list. (princ xlist) (princ) ) |
|||
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>Startek
Спасибо еще раз за отклик. "Обычным" способом который вы описываете у меня небыло проблемм. Я просто хотел сделать тоже самое через ActiveX и сделал: Код:
Прошу прощения если там вкралась какая нибудь ошибочка, у меня все данные для работы этой функции передавались через аргументы. Но чтобы не вставлять огромный листинг, я ее привел к более простому виду прямо в окошке форума. Но кажется все правильно. |
|||