Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Atomohod от 29-11-2021, 14:36:40

Название: Как создать твердотельный конус
Отправлено: Atomohod от 29-11-2021, 14:36:40
Здравствуйте!

Вопрос о создании твердотельного конуса. Как его добавить в чертеж если стандартные AppendEntity и AddNewlyCreatedDBObject не приминают такие объекты? Каким способом это делается?
Код - C# [Выбрать]
  1.   Cone cone = new Cone();
  2.                 cone.Height = new Interval(1);
  3.                 cone.BaseRadius = 5;
  4.                 cone.Set(5, 1, end, 5, edge.Delta);
  5.                 btr. AppendEntity(cone);
  6.                 tr.AddNewlyCreatedDBObject(cone, true);
  7.  
Название: Re: Как создать твердотельный конус
Отправлено: Александр Ривилис от 29-11-2021, 15:54:11
Atomohod,
Cone - это не примитив AutoCAD. Примитив AutoCAD - это Solid3d. И создаётся конус при помощи метода Solid3d.CreateFrustum
Название: Re: Как создать твердотельный конус
Отправлено: Atomohod от 30-11-2021, 08:25:33
Cone - это не примитив AutoCAD
Почему тогда он доступен в Автокад? Я ранее не пытался писать код под Автокад 3д. Где можно подробнее почитать о способах работы с 3д объектами через net api?
Название: Re: Как создать твердотельный конус
Отправлено: trir от 30-11-2021, 08:47:21
brep api

Цитировать
Почему тогда он доступен в Автокад?
для удобства геометрических построений
Название: Re: Как создать твердотельный конус
Отправлено: Atomohod от 30-11-2021, 08:58:10
brep api

Цитировать
Почему тогда он доступен в Автокад?
для удобства геометрических построений

В чем удобство, если его нельзя сохранить в чертеж и он не добавляется в транзакцию? Можно примеры применения в типичных ситуациях? Пока я не разобрался.
Название: Re: Как создать твердотельный конус
Отправлено: trir от 30-11-2021, 09:09:29
например можно искать примитивы которые попадут в заданный конус
Название: Re: Как создать твердотельный конус
Отправлено: Александр Ривилис от 30-11-2021, 09:57:02
Почему тогда он доступен в Автокад?
В AutoCAD .NET API есть не только классы объектов, которые можно записывать в базу. В базу можно записывать только экземпляры классов, которые в пространстве имён Autodesk.AutoCAD.DatabaseServices. Пространство имён Autodesk.AutoCAD.Geometry содержит классы для геометрических вычислений.
Я ранее не пытался писать код под Автокад 3д. Где можно подробнее почитать о способах работы с 3д объектами через net api?
Нет AutoCAD 2d и AutoCAD 3d. Есть единый AutoCAD. И нет никакой разницы в написании кода.
Можно примеры применения в типичных ситуациях? Пока я не разобрался.
О чем речь? Какие типичные ситуации???
Название: Re: Как создать твердотельный конус
Отправлено: Atomohod от 30-11-2021, 11:15:09
О чем речь? Какие типичные ситуации???
Я имел ввиду области применения - раз я не могу создать конус (cone) и использовать  как, например, деталь в сборке то как его можно применить.
например можно искать примитивы которые попадут в заданный конус
Такой вариант применения хорошо справится с одной задачей, но как подход в целом со стороны разработчиков Autocad был бы очень узким применением, так можно развернуть целую серию переборов - для сферы, куба и т.д. А если нужна проверка попадания в объем сложной формы, как быть тогда?
Название: Re: Как создать твердотельный конус
Отправлено: Atomohod от 30-11-2021, 11:25:31
Еще такой момент - при создании конуса при помощи метода Solid3d.CreateFrustum он добавляется в начало координат. А как его потом сориентировать по имеющейся в чертеже Line в трехмере? Произвольный поворот до положения, когда вертикальная ось конуса совпадает с Line.
Название: Re: Как создать твердотельный конус
Отправлено: Александр Ривилис от 30-11-2021, 12:10:28
Еще такой момент - при создании конуса при помощи метода Solid3d.CreateFrustum он добавляется в начало координат. А как его потом сориентировать по имеющейся в чертеже Line в трехмере? Произвольный поворот до положения, когда вертикальная ось конуса совпадает с Line.
https://adn-cis.org/vyiravnivanie-primitiva-po-trem-tochkam.html
Название: Re: Как создать твердотельный конус
Отправлено: Александр Ривилис от 30-11-2021, 15:37:46
Я имел ввиду области применения - раз я не могу создать конус (cone) и использовать  как, например, деталь в сборке то как его можно применить.
Для геометрических вычислений.
Название: Re: Как создать твердотельный конус
Отправлено: Александр Ривилис от 01-12-2021, 01:13:08
Как создать конус, направленный вдоль заданной оси (https://adn-cis.org/kak-sozdat-konus,-napravlennyij-vdol-zadannoj-osi.html)
Название: Re: Как создать твердотельный конус
Отправлено: Atomohod от 01-12-2021, 09:27:48
Благодарю! То что нужно.