Ответы в темах
-
АвторСообщения
-
Гончаров Василий
УчастникДобрый день! Реализация вашей задачи возможна. Для этого Вам необходимо ознакомится с нашим руководством по разработке для базовой работы с API. Для реализации взаимодействия непосредственно с точками поверхности Вам необходимо будет написать класс, наследника от Topomatic.Sfc.Proxy.ProxySourceProvider. Этот абстрактный класс предназначен для решения подобных задач. В качестве примера приложил Вам небольшую реализацию провайдера для чтения информации и синхронизации точек через текстовый файл. Регистрация и работа с провайдерами на уровне класса Surface выполняется через свойство ProxySourceProviders.
Вложения:
Вы должны войти для просмотра вложений.Гончаров Василий
УчастникДобрый день!
Это штатное поведение данной функции, в этом случае она возвращает значение на касательной в направлении за началом линии или за её концом. Видимо это было необходимо для каких-либо расчётов. К сожалению, обратная функция StaOffsetToPos не умеет работать с отрицательными значениями. В последних версиях появился класс Polyline2DCurve и интерфейс ICurve, облегчающие работу с 2d полилинией, в них набор функций по определению положения реализован более полно и корректно.Гончаров Василий
УчастникДобрый день! Согласно нашей системе контроля версий, методы LoadFromStg и SaveToStg у класса xLibraryNode имеют модификатор internal protected последние 5 лет. В 2023 году библиотека была переработана, было изменено описание метода — туда был добавлен параметр contex, модификатор при этом не изменялся. Это позволило выполнять сохранение Smdx типов в рамках libx библиотек, увеличить скорость загрузки и снизить размер файла библиотеки. В любом случае, поскольку описание метода было изменено Вам необходимо пересобрать Ваши наработки, для работы с версиями 16.0.42 и выше.
Гончаров Василий
УчастникДобрый день! Вам необходимо привести объект к интерфейсу IWrapped и проверить что его свойство WrappedObject это AxisStrip. Также класс AxisStrip поддерживает интерфейс ILinearObject, поэтому Вы можете воспользоваться методом GetPolyline для получения геометрии объекта в виде полилинии.
Гончаров Василий
УчастникДобрый день! Я уточнил у коллег — прозрачную штриховку сделать технически возможно — постараемся включить эту задачу в план разработки.
Гончаров Василий
УчастникДобрый день! Проблема с площадью штриховки передана разработчика, это не проблема конкретной сборки. По поводу полупрозрачной штриховки, я уточню и отвечу Вам позднее.
Гончаров Василий
УчастникДобрый день! Да, Вы сделали в принципе верно, мы поступаем примерно так же.
Гончаров Василий
УчастникДобрый день! Да, Вы можете задать в штриховке «дырки» или несколько контуров через dwgHatch.BoundaryPath.Add. Управление образцом штриховки происходит через свойство Pattern, если штриховка выполнена через стандартные типы линии, описанные в файле acad.lin в каталоге [ProgramData]\Support. Если свойство Pattern не задано, выполняется заливка. Почему не считается площадь штриховки, пока Вам сказать не могу — будем разбираться.
Гончаров Василий
УчастникДобрый день! TypedObjectCollections.Current это статический член класса. Доступ к нему возможен в любом месте, где класс доступен.
Гончаров Василий
УчастникДобрый день!
Непосредственно сам элемент библиотеки в классе DwgModel3DElement представлен свойством Element. Для работы с элементами библиотеки 3D моделей Вам необходимо использовать статическое свойство TypedObjectCollections.Current. Метод FindObject позволяет Вам найти элемент по его uid, а метод FindUids — найти все элементы, отвечающие требуемому условию. Кроме того, если Вам необходимо показать диалог выбора элемента из библиотеки, Вы можете использовать статический метод
ImObjectPropertyProvider.SelectObject — он вызовет стандартный диалог выбора элемента, с возможностью фильтрации.Гончаров Василий
УчастникДобрый день! Нет, на текущий момент такой возможности нет. Под инициализацией по требованию подразумевается либо необходимость в какой-либо функции этого модуля, либо зависимость модуля от другого модуля. В частности для AlignmentPlugin если значение IsEmpty вернёт False, то будет загружен модуль реализующий требуемый IAlignmentPluginInitializator.
Гончаров Василий
УчастникДобрый день!
Да, такая возможность осталась. В 16 сборке поменялся формат подключения модулей, для этого теперь используются файлы *.plugin. В секции assemblies описывается подключение модулей, включая модули динамического расширения. Например в файле core.plugin описано подключение модуля surface_mapsigns.py:"assemblies": { ... "mapsigns": { "assembly": "lib\\surface_mapsigns.py", "dependency": "scripting" } },
-
Ответ изменён 2 года, 1 месяц назад пользователем
Гончаров Василий. Причина: Более чёткая формулировка
-
Ответ изменён 2 года, 1 месяц назад пользователем
-
АвторСообщения