获取Autocad项目详细信息

时间:2013-02-20 22:28:09

标签: c# autocad-plugin

我正在尝试通过插件中的C#获取Autocad项目的项目详细信息。我可以访问以下类中的一些属性。

Autodesk.ProcessPower.PlantInstance.PlantApplication.CurrentProject

但是这个课程没有提供所有项目细节,例如项目编号等。如何通过C#访问项目详细信息?

2 个答案:

答案 0 :(得分:0)

您必须将CurrentProject转换为适当的项目部分,如下所示: http://adndevblog.typepad.com/autocad/2012/05/getting-all-the-properties-of-a-selected-pipe-in-plant3d-using-cnet.html

他们使用对P3dProjectParts.dll的引用来获取PipingProject类。有一个基础ProjectPartsMgd.dll,它包含通用项目部分实现。

答案 1 :(得分:0)

要想从项目详细信息中获取项目编号,所以我想在这里发布我的解决方案:

PnIdProject oPnIdProject =
    (PnIdProject)PlantApplication.CurrentProject.ProjectParts["PnID"];

//Assuming you want Project Number from the "General" category.  If you have
//a custom category property you want, just replace "General" with the name
//of the custom category
List<ProjectProperty> metaData = 
    oPnIdProject.GetProjectPropertyMetadata("General");

string projectNumberString = "";

foreach (ProjectProperty prop in metaData)
{
    if (prop.Name == "Project_Number")
    {
        projectNumberString = oPnIdProject.GetProjectPropertyValue(prop);
    }
}

我假设可以为任何项目部分做同样的事情......