Bentley二次开发教程18-文件及模型管理-模型操作

模型操作

模型创建

当我们需要创建模型时,需要使用CreateNewModel()来对模型进行创建,在此过程中需要输入新建模型名称,模型类别以及确定模型类别时2D还是3D,完成后即生成制定模型

public static void CreateDgnModel(string unparsed)
{
   
    DgnFile dgnFile = Session.Instance.GetActiveDgnFile();//获得当前激活的dgn文件信息            
    dgnFile.CreateNewModel(out DgnModelStatus status,"test",DgnModelType.Normal,true,null);
    /*             
     * 声明新模型
     * error:(输出)若声明失败,则返回error
     * name:新声明模型的名称
     * type:声明模型类型(Normal,Sheet,Drawing,DgnComponentDefinition)
     * is3D:声明模型是三维还是二维模型
     * seedModel:声明模型所使用的种子文件
     */
    MessageBox.Show("Create status:\n "+status.ToString());//将声明模型结果以文本的形式输出到对话框中
}

在这里插入图片描述

删除模型

当我们需要删除模型时,需要使用DeleteModel()删除模型,执行删除模型的流程为首先根据模型名称找到模型ID,然后通过模型ID获取对应的模型空间,最后执行模型删除 操作。

public static void DeleteDgnModel(string unparsed)
{
   
    CreateDgnModel(unparsed);//调用上方声明模型的方法

    DgnFile dgnFile = Session.Instance.GetActiveDgnFile();//获得当前激活的文件信息
    ModelId id= dgnFile.FindModelIdByName("test");//获得名为“test”的模型ID
    DgnModel dgnModel = dgnFile.LoadRootModelById(out StatusInt status,id);//使用ID读取获得对应的模型空间
    if(status==StatusInt.Success)//判断是否获得名为“test”的模型
    {
   
        StatusInt statusInt= dgnFile.DeleteModel(dgnModel);//从文件中删除该模型
        if(statusInt== StatusInt.Success)//判断是否删除成功
        {
   
            MessageBox.Show("Delete status:\nSuccess");//对话框输出删除成功
        }               
    }            
}
private static DgnModel CreateDgnModelTest(string modelName)
{
   
    DgnFile dgnFile = Session.Instance.GetActiveDgnFile();//获得当前激活的dgn文件信息        
    ModelId id = dgnFile.FindModelIdByName(modelName);//检索文件中是否存在名为modelname引用字符串的模型
    if(id!= ModelId.InvalidModel)//判断模型ID是否有效
    {
   
        DgnModel existModel = dgnFile.LoadRootModelById(out StatusInt status, id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值