Skip to content
On this page

mxcad3d中绘制的标注以及文字符号是临时显示在视口中的,不会保存在文档之中。

长度标注

typescript
// 长度标注的两个端点
const pt1 = new Mx3dGePoint(0, 0, 0);
const pt2 = new Mx3dGePoint(50, 50, 0);
// 标注符号所在平面
const plane = new Mx3dGePlane();
// 长度标注
const lenDim = new Mx3dDimLength(pt1, pt2, plane);
// 标注的样式
const dimAspect = new Mx3dAspectDim();
// 标注的箭头样式
const arrowAspect = new Mx3dAspectArrow(Math.PI / 12, 3);
const color = new Mx3dGeColor(MdGe.MxNameOfColor.Color_NOC_RED);
arrowAspect.SetZoomable(true);
arrowAspect.SetColor(color);
// 标注的文字样式
const textAspect = new Mx3dAspectText();
textAspect.SetHeight(3);
// 设置标注样式
dimAspect.SetArrowAspect(arrowAspect);
dimAspect.SetTextAspect(textAspect);
dimAspect.MakeText3d(true);
// 长度标注设置标注样式
lenDim.SetDimensionAspect(dimAspect);
// 文档视图对象显示标注对象
mxcad3d.displayDimension(lenDim);

半径标注

typescript
const csysr = new Mx3dGeCSYSR();
// 所要标注的圆
const circle = new Mx3dGeCircle(csysr, 50);
// 半径标注
const rdim = new Mx3dDimRadius(circle);
// 标注样式
const dimAspect = new Mx3dAspectDim();
dimAspect.MakeText3d(true);
// 半径标注设置标注样式
rdim.SetDimensionAspect(dimAspect);
// 文档视图对象显示标注对象
mxcad3d.displayDimension(rdim);

直径标注

typescript
const csysr = new Mx3dGeCSYSR();
// 所要标注的圆
const circle = new Mx3dGeCircle(csysr, 50);
// 直径标注
const ddim = new Mx3dDimDiameter(circle);
// 标注样式
const dimAspect = new Mx3dAspectDim();
dimAspect.MakeText3d(true);
// 半径标注设置标注样式
ddim.SetDimensionAspect(dimAspect);
// 文档视图对象显示标注对象
mxcad3d.displayDimension(ddim);

角度标注

typescript
const pnt1 = new Mx3dGePoint(100, 0, 0);
const pnt2 = new Mx3dGePoint(0, 0, 0);
const pnt3 = new Mx3dGePoint(0, 0, 100);
// 由三点来定义角度标注
const angDim = new Mx3dDimAngle(pnt1, pnt2, pnt3);
// 标注样式
const dimAspect = new Mx3dAspectDim();
// 箭头样式
const arrowAspect = new Mx3dAspectArrow(Math.PI / 12, 3);
const color = new Mx3dGeColor(MdGe.MxNameOfColor.Color_NOC_RED);
arrowAspect.SetZoomable(true);
arrowAspect.SetColor(color);
// 文字样式
const textAspect = new Mx3dAspectText();
textAspect.SetHeight(3);
textAspect.SetColor(color);

dimAspect.SetArrowAspect(arrowAspect);
dimAspect.SetTextAspect(textAspect);
dimAspect.MakeText3d(true);

angDim.SetDimensionAspect(dimAspect);
angDim.SetFlyout(15);
mxcad3d.displayDimension(angDim);

文字标签符号

typescript
// 文字标签符号的锚点
const pt = new Mx3dGePoint();
// 通过文本内容、字高以及锚点来构造文字符号标签
const textlabel = new Mx3dSymbolText("梦想CAD三维", 20, pt);
// 设置文字标签符号是否随着视图的缩放而缩放
textlabel.SetZoomable(true);
// 文档视图对象显示文字标签符号对象
mxcad3d.displaySymbolText(textlabel);