I попытался использовать этот код, чтобы получить это:
Код: Выделить всё
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.ProcessPower.ProjectManager;
using Autodesk.ProcessPower.PlantInstance;
using Autodesk.ProcessPower.DataLinks;
using System.Windows.Forms;
using Autodesk.ProcessPower.PnP3dObjects;
namespace ParametEquip
{
public class Plugin
{
[CommandMethod("PARAMEQ", CommandFlags.UsePickSet)]
public static void ParametEquip()
{
Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
using (Transaction trans = db.TransactionManager.StartTransaction())
{
PlantProject projeto = PlantApplication.CurrentProject;
Project pj = projeto.ProjectParts["PnId"];
DataLinksManager dlm = pj.DataLinksManager;
BlockTable bt = (BlockTable)trans.GetObject(doc.Database.BlockTableId, OpenMode.ForWrite);
if (bt != null)
{
BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
if (btr != null)
{
foreach (ObjectId id in btr)
{
Entity ent = (Entity)trans.GetObject(id, OpenMode.ForWrite);
int linha = dlm.FindAcPpRowId(ent.ObjectId);
List props;
props = dlm.GetAllProperties(linha, true);
foreach (var prop in props)
{
MessageBox.Show($"Propriedade: {prop.Key} \nValor: {prop.Value}");
}
}
}
}
trans.Commit();
}
}
}
}
введите здесь описание изображения
Подробности:
Приложение не поддерживает JIT-отладку
. Подробности смотрите в конце этого сообщения.
Текст исключения **************
Autodesk.ProcessPower.DataLinks.DLException: ObjectDoesNotHaveLinkв Autodesk.ProcessPower.DataLinks.DLException.ThrowError(_EPpDataLinksStatus stat)
в Autodesk.ProcessPower.DataLinks.DataLinksManager.FindAcPpRowId(ObjectId oid)
в ParametEquip.Plugin.ParametEquip() в A: \11-Temporário\João Castro\Parametrização de Equipamentos\ParamEquip\ParamEquip.cs:line 37
Если у кого-то есть идеи по поводу этой ошибки или других способы достижения этих свойств, все мне очень поможет. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/789 ... in-plant3d
Мобильная версия