[ORD C#] 有没有横断面标注的案例

SDK中只有一个标注的案例,是平面标注的,看到大家问问题关于横断面标注的也挺多,要是有个example就好了 

Parents
  • 建议获取横断面信息后用MS得方式进行标注。

    下面是一个点标注例子:

    public void LinearAndAngularDimension(DgnModel oModel, DPoint3d pt1, DPoint3d pt2)
    {
    DgnFile oFile = Session.Instance.GetActiveDgnFile();
    double uorPerMast = oModel.GetModelInfo().UorPerMaster;
    DimensionStyle dimStyle = new DimensionStyle("DimStyle", oFile);
    dimStyle.SetBooleanProp(true, DimStyleProp.Placement_UseStyleAnnotationScale_BOOLINT);
    dimStyle.SetDoubleProp(1, DimStyleProp.Placement_AnnotationScale_DOUBLE);
    dimStyle.SetBooleanProp(true, DimStyleProp.Text_OverrideHeight_BOOLINT);
    dimStyle.SetDistanceProp(0.5 * uorPerMast, DimStyleProp.Text_Height_DISTANCE, oModel);
    dimStyle.SetBooleanProp(true, DimStyleProp.Text_OverrideWidth_BOOLINT);
    dimStyle.SetDistanceProp(0.4 * uorPerMast, DimStyleProp.Text_Width_DISTANCE, oModel);
    dimStyle.SetBooleanProp(true, DimStyleProp.General_UseMinLeader_BOOLINT);
    dimStyle.SetDoubleProp(0.01, DimStyleProp.Terminator_MinLeader_DOUBLE);
    dimStyle.SetBooleanProp(true, DimStyleProp.Value_AngleMeasure_BOOLINT);
    dimStyle.SetAccuracyProp((byte)AnglePrecision.Use1Place, DimStyleProp.Value_AnglePrecision_INTEGER);
    DgnTextStyle textStyle = new DgnTextStyle("TestStyle", oFile);
    LevelId lvlId = Settings.GetLevelIdFromName("Default");
    
    
    
    CreateDimensionCallbacks callbacks = new CreateDimensionCallbacks(dimStyle, textStyle, new Symbology(), lvlId, null);
    DimensionElement oDim = new DimensionElement(oModel, callbacks, DimensionType.SizeArrow);
    if (oDim.IsValid)
    {
    oDim.InsertPoint(pt1, null, dimStyle, -1);
    oDim.InsertPoint(pt2, null, dimStyle, -1);
    oDim.SetHeight(uorPerMast);
    oDim.AddToModel();
    }
    
    
    
    }

  • 如上图,这个是我想要的最终横断面结果,目前是通过Annotation Groups标注进行设置,但是设置比较繁琐,想通过二次开发能实现类似以上的标注,使得可以简化操作流程,希望老师能给一些开发的思路,谢谢

  • 目前的标注信息,建议还是通过MS那套进行开发。

Reply Children
No Data