视区设置
在CAD绘制图形的过程中,常常会遇到视区显示不合适的情况,这时需要改变视区的显示范围、角度等去适应图形显示。为了解决上述需求, mxcad 在其实例对象 McObject() 中提供了视区图形的重绘和更新、视区范围自定义、视区旋转等一系列方法,利用这些方法用户可以很方便地观看和绘制图形。
点击 McObject() 查看详细属性和方法说明。
视区背景色
我们可以调用 mxcad 实例对象中的 setViewBackgroundColor() 方法直接设置视区的背景色。
ts
import { MxCpp } from "mxcad"
MxCpp.getCurrentMxCAD().setViewBackgroundColor(255, 255, 255);
视区图形更新、重绘
用户绘图过程中,每个命令结束时都会产生一些无用的定位点,可以通过重绘操作删除这些定位点,从而方便看图和绘图。我们可以调用 mxcad 实例对象中的 updateDisplay() 方法更新视区显示;调用 updateLayerDisplayStatus() 方法局部更新图层显示;调用 regen() 方法重绘图上所有对象。
ts
import { MxCpp } from "mxcad"
const mxcad = MxCpp.getCurrentMxCAD()
mxcad.regen()
mxcad.updateDisplay()
// mxcad.updateLayerDisplayStatus()
视区显示范围
- 缩放显示范围:我们可以调用 mxcad 实例对象的 zoomScale() 方法缩放当前显示范围,该方法中的参数为scale缩放比例。
ts
import { MxCpp } from "mxcad"
MxCpp.getCurrentMxCAD().zoomScale(0.8)
- 自定义显示中心:我们可以调用 mxcad 实例对象的 zoomCenter() 方法把当前显示范围移到指定的位置,该方法中的两个参数dCenX,dCenY是DWG图纸坐标即为视区显示范围的中心点。
ts
import { MxCpp } from "mxcad"
MxCpp.getCurrentMxCAD().zoomCenter(0,0)
- 自定义显示范围:我们可以调用 mxcad 实例对象的 zoomW() 方法把当前显示范围移到指定的显示范围,该方法中的两个参数minPt,maxPt是显示范围的最小点和最大点。
ts
import { MxCpp, McGePoint3d } from "mxcad"
const mxcad = MxCpp.getCurrentMxCAD()
mxcad.zoomW(new McGePoint3d(0, 0), new McGePoint3d(30, 30))
- 显示全部:我们可以调用 mxcad 实例对象的 zoomAll() 方法把视区范围设为显示图纸的全部内容。
ts
import { MxCpp } from "mxcad"
MxCpp.getCurrentMxCAD().zoomAll()
视区旋转
我们可以调用 mxcad 实例对象的 zoomAngle() 方法来设置显示视区的角度,单位是PI,从而实现视区旋转。
ts
import { MxCpp, McGePoint3d } from "mxcad"
const mxcad = MxCpp.getCurrentMxCAD()
const lAng += Math.PI * 0.5;
mxcad.zoomAngle(lAng);
视区平移
我们可以结合命令行执行 Mx_Pan
命令实现视区平移功能。
ts
import { MxFun } from "mxdraw"
MxFun.sendStringToExecute("Mx_Pan");