设备自定义标注

Plant3D 设备标注默认只有位号


image.png

我们希望在标注的时候显示设备的位号+支座标高

我们可以通过下面的方法配置。

右键项目进入项目配置


image.png

我们选择设备,这样所有设备都可以使用这个标注

image.png

当我们点击Edit Block 后会跳出编辑当前样式的界面
我们复制原有样式,把Tag属性改成 COG Z属性。

注意,属性中的空格需要用Unicode表示。 见文档

image.png

好了之后点击Close Block Editor 并保存


image.png

好了之后点 Apply OK


image.png

好了之后我们就可以使用这个属性了

image.png

然后在布置图界面 更新标记即可。


image.png

为了方便用户设置这个标高,我们可以写个小插件,方便用户选中设备、选中支架底标高,更新这个属性


image.png

image.png

image.png

以下是小插件源码

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.ProcessPower.PlantInstance;
using Autodesk.ProcessPower.PnP3dObjects;

// 此处省略 namespace class method .....

var doc = Application.DocumentManager.MdiActiveDocument;
var db = doc.Database;
var ed = doc.Editor;


using (Transaction tr = db.TransactionManager.StartTransaction())
{
    var bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
    var btr = tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead) as BlockTableRecord;

    var equipmentSelection = ed.GetSelection(new PromptSelectionOptions { MessageForAdding = "\n请选择一个设备:", SingleOnly = true, SinglePickInSpace = true });
    if (equipmentSelection.Status != PromptStatus.OK) { return; }
    if (equipmentSelection.Value.Count != 1) { return; }
    var equipmentObjectId = equipmentSelection.Value[0].ObjectId;
    var equipment = tr.GetObject(equipmentObjectId, OpenMode.ForRead) as Equipment;
    if (equipment == null)
    {
        ed.WriteMessage("您选择的不是设备!\n");
        return;
    }

    var pointSelection = ed.GetPoint("请选择设备底标高");
    if (pointSelection.Status != PromptStatus.OK)
    {
        return;
    }

    var point = pointSelection.Value;
    var dlm = PlantApplication.CurrentProject.ProjectParts["Piping"].DataLinksManager;
    var row = dlm.GetPnPDatabase().GetRow(dlm.FindAcPpRowId(equipmentObjectId));
    row.SetPropertyValue("COG Z", point.Z);
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容