Как создать объект PlaneSurface на VBA

Автор Тема: Как создать объект PlaneSurface на VBA  (Прочитано 9396 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн anatoly53Автор темы

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Хочу построить поверхность по триангуляции.  Есть трехмерная полилиния с 3мя узлами. Преобразовать в PlaneSuface.


Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Как создать объект PlaneSurface на VBA
« Ответ #1 : 26-10-2021, 07:43:38 »
Civil 3D

Оффлайн anatoly53Автор темы

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Как создать объект PlaneSurface на VBA
« Ответ #2 : 26-10-2021, 12:28:28 »
Спасибо, но мне нужно именно в Autocad и на VBA. Можно ли такие объекты програмно добавлять другими средствами? Через Lisp например?

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как создать объект PlaneSurface на VBA
« Ответ #4 : 26-10-2021, 21:45:25 »
anatoly53,
PlaneSuface в чистом AutoCAD нет. Есть 3DFACE, PolyfaceMesh, PolygonMesh. Ну и кроме того ограничения VBA.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн anatoly53Автор темы

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Как создать объект PlaneSurface на VBA
« Ответ #5 : 27-10-2021, 12:44:21 »
Спасибо. Жаль что програмно никак. Объект мне нужен для триангуляции, просуммировав все объекты, получил бы поверхность, а далее обрезка, суммирование...
Для моделирования пластовых месторождений со сложной тектоникой хороших программ пока нет. А ограниченное число скважин не позволяет получить однозначный результат.
Изолинии довольно хорошо показывают форму поверхности, но все же работа с поверхностями позволят строить разрезы секущими плоскостями.

Здесь один слой, а их, в среднем 20. Такой сложный пирог...



Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Как создать объект PlaneSurface на VBA
« Ответ #6 : 27-10-2021, 13:14:09 »


Civil 3D хорошо работает с поверхностями (на видео - самописное)

Оффлайн anatoly53Автор темы

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Как создать объект PlaneSurface на VBA
« Ответ #7 : 27-10-2021, 13:44:23 »
Спасибо. Посмотрю, попробую разобраться. Пока вижу одно: нет тектоники и складчатости.  Я на уголь работаю с осадочными толщами Перми и у нас понамято...

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Как создать объект PlaneSurface на VBA
« Ответ #8 : 27-10-2021, 13:46:09 »
могу посоветовать dotNET и BREP API

Оффлайн Nutson

  • ADN OPEN
  • Сообщений: 43
  • Карма: 6
Re: Как создать объект PlaneSurface на VBA
« Ответ #9 : 28-10-2021, 07:09:52 »
Посмотрите в документации.
Вот раздел по созданию поверхностей, следующий раздел по манипуляциям с ними

https://help.autodesk.com/view/CIV3D/2020/ENU/?guid=GUID-DED917B4-0038-4DA2-B726-8F67BAB63C0C


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как создать объект PlaneSurface на VBA
« Ответ #10 : 28-10-2021, 14:53:52 »
anatoly53,
Кстати мне не понятно при чем здесь PlaneSurface - это плоская поверхность, а вам похоже нужна совсем не плоская...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн anatoly53Автор темы

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Как создать объект PlaneSurface на VBA
« Ответ #11 : 01-11-2021, 08:58:21 »
Видите ли, Александр, у меня комплекс для геолога, занимающегося подсчетом запасов угольных месторождений. Хорошая связка Access Autocad. Работает с 2006г.
Нет пока хороших програм именно под уголь, поскольку своя специфика: Большие площади, пластовые тела, складки и нарушенность...
У меня все чертежи заточены под существующие стандарты.
Но геологические модели бывают столь сложными и разнообразными, что их отстраивать большая головная боль: нет однозначного решения, часто это субъективные решения. Программа построения изолиний по профилям (именно по профилям) хорошо себя показала. Но захотелось приблизиться к мировым стандартам и построить пластовые тела. Хотя это для нас не актуально, нужны лишь изогипсы пластов. Ведь и рельеф, отстроенный с помощью поверхности не даст той детальности, как изолинии. Все мы пользуемся топокартами и довольны.
Для понимания того, с чем мы работаем:

Из серии таких разрезов/профилей создаем общую модель. Потом уголь выкопают и отвезут в домны, ТЭЦ и котельные. И будет свет, тепло и железо.
А, впрочем, Вы правы, можно и лофтингом обойтись. Сделаю несколько вариантов. Мне с секущими плоскостями нужно поработать,  а они только с поверхностями и телами, изогипсы не режут.
« Последнее редактирование: 01-11-2021, 09:39:45 от anatoly53 »

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Как создать объект PlaneSurface на VBA
« Ответ #12 : 02-11-2021, 08:01:26 »
Цитировать
Ведь и рельеф, отстроенный с помощью поверхности не даст той детальности, как изолинии
чушь

Access плохо подходит - он не умеет работать с геометрией

Вот человек работает https://habr.com/ru/post/545878/
« Последнее редактирование: 02-11-2021, 08:48:49 от trir »

Оффлайн anatoly53Автор темы

  • ADN OPEN
  • Сообщений: 10
  • Карма: 0
Re: Как создать объект PlaneSurface на VBA
« Ответ #13 : 09-11-2021, 07:42:06 »
Вы уверены, что разбираетесь в информатике, геологии и геоинформационных системах?
Я занимаюсь сейчас подсчетом запасов угольных месторождений. А это сбор данных о литологии, химическом составе, статистическая обработка, стандартные чертежи разрезов, структурных планов, планов подсчетов запасов и таблицы запасов. И все по ГОСТам.
Связка через VBA Access и Autocad как нельзя лучше для этого подходят. Есть Micromine, Surpak... Но угольные месторождения имеют свою специфику, в отличие от рудных, Autocad - отличный вьювер для больших объемов данных.

Оффлайн trir

  • ADN Club
  • ****
  • Сообщений: 470
  • Карма: 63
Re: Как создать объект PlaneSurface на VBA
« Ответ #14 : 09-11-2021, 11:41:42 »
Многие СУБД умеют хранить геометрию, Access не умеет
VBA в 2021 - это просто кровь из глаз, тот же C# гораздо приятнее
AutoCAD Map 3D умеет работать с геометрией в БД через FDO

Цитировать
Связка через VBA Access и Autocad
А как вы координаты пересчитываете?

Цитировать
Autocad - отличный вьювер для больших объемов данных
нет