ADN Club > AutoLisp / VisualLISP и DCL

Хранение пользовательских данных в чертеже, словари

(1/2) > >>

power_factor:
Добрый день!

Разбираюсь с возможностью хранения и использования пользовательских данных в чертеже (целые числа и числа с плавающей точкой, строки). Прошу подсказать по некоторым вопросам:

1. Основные способы для подобного хранения, известные мне, это Custom properties, Xdata и Dictionaries + Xrecord. Это все возможные способы или имеются ещё? (именно для хранения внутри чертежа, без соединения с "внешним" миром)
2. В литературе встречаются термины Dictionary и Extension dictionary. Являются ли они одним и тем же?
3. Можно ли "вкладывать" одни словари в другие, т. е. создавать древовидные структуры?
4. Можно ли копировать словари полностью либо их отдельные X-записи?

Александр Ривилис:

--- Цитата: power_factor от 07-07-2023, 20:55:09 ---1. Основные способы для подобного хранения, известные мне, это Custom properties, Xdata и Dictionaries + Xrecord. Это все возможные способы или имеются ещё? (именно для хранения внутри чертежа, без соединения с "внешним" миром)

--- Конец цитаты ---
Можно хранить и в Custom Object/Entity - но это только  помощью ObjectARX.

--- Цитата: power_factor от 07-07-2023, 20:55:09 ---2. В литературе встречаются термины Dictionary и Extension dictionary. Являются ли они одним и тем же?

--- Конец цитаты ---
Extension dictionary это разновидность Dictionary.

--- Цитата: power_factor от 07-07-2023, 20:55:09 ---3. Можно ли "вкладывать" одни словари в другие, т. е. создавать древовидные структуры?

--- Конец цитаты ---
Можно.

--- Цитата: power_factor от 07-07-2023, 20:55:09 ---4. Можно ли копировать словари полностью либо их отдельные X-записи?

--- Конец цитаты ---
Можно. Но средства VisualLisp не предназначены для этого. Это или ObjectARX или AutoCAD .NET API

power_factor:

--- Цитата: Александр Ривилис от 09-07-2023, 17:35:13 ---Можно хранить и в Custom Object/Entity - но это только  помощью ObjectARX.
--- Конец цитаты ---

А Вы не могли бы, пожалуйста, немного объяснить. Допустим, имеется в чертеже линия, то есть уникальный экземпляр класса AcDbLine, имеющий свойства Length и Angle, относящиеся только к ему. Свойствам этим присвоены какие-то значения. Правильно ли я понимаю, что эти значения хранятся "внутри" именно этого экземпляра, создаются и уничтожаются вместе с ним?

Чтобы мне также было возможно хранить данные внутри объектов, мне нужно с помощью ObjectARX создавать свои классы?

Александр Ривилис:

--- Цитата: power_factor от 09-02-2024, 08:58:16 ---Правильно ли я понимаю, что эти значения хранятся "внутри" именно этого экземпляра, создаются и уничтожаются вместе с ним?

--- Конец цитаты ---
Да.

--- Цитата: power_factor от 09-02-2024, 08:58:16 ---Чтобы мне также было возможно хранить данные внутри объектов, мне нужно с помощью ObjectARX создавать свои классы?
--- Конец цитаты ---
Зависит от того что это за данные.

power_factor:

--- Цитата: Александр Ривилис от 09-02-2024, 11:19:43 ---Зависит от того что это за данные.
--- Конец цитаты ---

Пока только числа и строки.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии