Как программно вставить детали каталога Plant 3D в чертеж с помощью C# API?C#

Место общения программистов C#
Ответить
Anonymous
 Как программно вставить детали каталога Plant 3D в чертеж с помощью C# API?

Сообщение Anonymous »

Я работаю над автоматизацией вставки деталей из пользовательского каталога Plant 3D в чертежи проекта с помощью плагина C#.
Что у меня есть на данный момент:
  • Пользовательский каталог (, .acat, .pspc) с опорами и другими компонентами.
  • Я могу получить нужную деталь из каталога как SpecPart с помощью SpecManager и SpecPartReader.
Проблема:
  • Таким методам, как InsertCustomGeometryPlaceHolderInModel, InsertPlaceHolderInModel и InsertPlaceHolderInModelWhileRouting, требуется имя блока.
  • Имя блока генерируется только после вставки детали, что создает циклическую зависимость:

    Для вставки детали мне нужно имя блока, но имя блока существует только после вставки.
Цель:
  • Вставить деталь из каталога в чертеж Plant 3D автоматически, используя SpecPart (или PartSizeProperties), без необходимости предварительного размещения вручную.
Что я пробовал
Вот пример того, что я пробовал с помощью InsertPlaceHolderInModel:

Код: Выделить всё

using Autodesk.ProcessPower.Piping;
using Autodesk.ProcessPower.Specification;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;

public void TryInsertPlaceholder()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;

SpecManager specManager = SpecManager.GetSpecManager();
SpecPart specPart = specManager.FindPart("MySpec", "PART_CODE");

// Attempt to insert placeholder
PnP3dPlaceholderUtil.InsertCustomGeometryPlaceHolderInModel(
specPart.Name,
"BLOCK_NAME", // 

Подробнее здесь: [url]https://stackoverflow.com/questions/79825345/how-to-programmatically-insert-plant-3d-catalog-parts-into-a-drawing-using-c-sha[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»