Selection
Re: Selection
Здравствуйте,
Визуальное выделение объектов не является частью функционала библиотеки, поэтому это не отражено в документации. В проекте EditorLite для Delphi используется модуль sgSManager, который содержит класс TsgSelectionManager как пример реализации выделения объектов. К сожалению, аналогичного модуля (как и примера EditorLite) на С++ Builder на данный момент нет.
Михаил
Визуальное выделение объектов не является частью функционала библиотеки, поэтому это не отражено в документации. В проекте EditorLite для Delphi используется модуль sgSManager, который содержит класс TsgSelectionManager как пример реализации выделения объектов. К сожалению, аналогичного модуля (как и примера EditorLite) на С++ Builder на данный момент нет.
Михаил
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
Chat support on Skype: cadsofttools.support
Re: Selection
В библиотеке для С++ имеется модуль sgSelection , но описание также отсутствует.
Возможно ли использование функций этого модуля для написания программы выделения объектов при помощи мышки. Какие функции можно использовать и как.
Существует ли функция пересчета координат TsgDrawingNavigator Canvas в значения GetDrawingCoords?
Как скрыть и показать объект? Свойства Visible и Visibility не помогают.
Как задать имя объекта? Свойство Name возвращает тип объекта, например POLYLINE, хотя задавалось другое имя. В то же время, цвет и ширина линии задаются правильно.
Можно ли выбрать объект по имени?
Можно ли присвоить объекту и целиком файлу дополнительные свойства типа Параметр - Значение?
Вопросы срочные. Мы начинаем новый проект и нам нужно понять, можно ли его полностью выполнить используя CAD VCL. До настоящего времени мы использовали только импорт из DXF, а затем конвертировали в наш формат.
Возможно ли использование функций этого модуля для написания программы выделения объектов при помощи мышки. Какие функции можно использовать и как.
Существует ли функция пересчета координат TsgDrawingNavigator Canvas в значения GetDrawingCoords?
Как скрыть и показать объект? Свойства Visible и Visibility не помогают.
Как задать имя объекта? Свойство Name возвращает тип объекта, например POLYLINE, хотя задавалось другое имя. В то же время, цвет и ширина линии задаются правильно.
Можно ли выбрать объект по имени?
Можно ли присвоить объекту и целиком файлу дополнительные свойства типа Параметр - Значение?
Вопросы срочные. Мы начинаем новый проект и нам нужно понять, можно ли его полностью выполнить используя CAD VCL. До настоящего времени мы использовали только импорт из DXF, а затем конвертировали в наш формат.
Re: Selection
Модуль sgSelection можно использовать для написания программы выделения объектов при помощи мыши. Однако, к сожалению, на данный момент у нас нет соответствующего примера кода на С++ Builder.
Правильно ли я понимаю, что под "значениями GetDrawingCoords" подразумеваются CAD координаты?
Уточните, пожалуйста, какой код Вы пробовали.
Если Вы хотите задать произвольное имя для визуального объекта (примитива), то через свойство Name это сделать невозможно. Свойство Name возвращает название класса примитива (TObject.ClassName) в верхнем регистре, без префикса "TSGDXF" или "TSGCAD". Однако, возможно задать произвольное имя через расширенные данные объекта (extended data или xdata). C документацией по extended data Вы можете ознакомиться по ссылке ниже.
https://www.autodesk.com/techpubs/autoc ... dxf_ab.htm
В CAD VCL расширенные данные объекта поддерживаются, начиная с версии 11.0, через свойство EED у классов-наследников TsgDXFEntity:
Code: Select all
property EED[const AAppID: UInt64]: TsgCADExtendedData read GetEED write SetEED;
Если произвольное имя записано в расширенных данных объекта, то можно найти объект по имени, прочитав EED.
Да, это возможно через EED.
Михаил
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
Chat support on Skype: cadsofttools.support
Re: Selection
Текст программы где свойство Visible не работает в приложении.
Значения GetDrawingCoords:
TsgDrawingNavigator * Navigator;
Navigator = (TsgDrawingNavigator *)(Sender);
vPt = Navigator->GetDrawingCoords(X, Y, vUnits);
Можете ли вы сказать какие функции из sgSelection.hpp можно использовать для выбора объектов и их узлов?
Значения GetDrawingCoords:
TsgDrawingNavigator * Navigator;
Navigator = (TsgDrawingNavigator *)(Sender);
vPt = Navigator->GetDrawingCoords(X, Y, vUnits);
Можете ли вы сказать какие функции из sgSelection.hpp можно использовать для выбора объектов и их узлов?
- Attachments
-
- SharpLaseVCL.rar
- (2.1 KiB) Downloaded 722 times
Re: Selection
Здравствуйте.
Для управления видимостью объекта используйте свойство Visibility. Свойство Visible действительно не работает.
Михаил
Для управления видимостью объекта используйте свойство Visibility. Свойство Visible действительно не работает.
Михаил
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
Chat support on Skype: cadsofttools.support
Re: Selection
Но свойство Visibility так же не работает.
Re: Selection
А на последний вопрос о функциях Selection.hpp вы сможете ответить?
Re: Selection
Уточните, пожалуйста, номер версии CAD VCL, на которой Вы проверяли данную проблему.
Михаил
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
Chat support on Skype: cadsofttools.support
Re: Selection
К сожалению, на текущий момент не могу дать развернутый ответ по данному вопросу, так как код указанного модуля не документирован и, следовательно, требует изучения. Скажу только, что для выбора объектов следует использовать класс TsgSelectionMatrix:
Code: Select all
class PASCALIMPLEMENTATION TsgSelectionMatrix : public System::TObject
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support
Chat support on Skype: cadsofttools.support
Re: Selection
Свойство Visibility работает, просто нужно было сделать обновление: RefreshCurrentLayout().