Skip to content
On this page

视区设置

在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()

视区显示范围

  1. 缩放显示范围:我们可以调用 mxcad 实例对象的 zoomScale() 方法缩放当前显示范围,该方法中的参数为scale缩放比例。
ts
import { MxCpp } from "mxcad"

MxCpp.getCurrentMxCAD().zoomScale(0.8)
  1. 自定义显示中心:我们可以调用 mxcad 实例对象的 zoomCenter() 方法把当前显示范围移到指定的位置,该方法中的两个参数dCenX,dCenY是DWG图纸坐标即为视区显示范围的中心点。
ts
import { MxCpp } from "mxcad"

MxCpp.getCurrentMxCAD().zoomCenter(0,0)
  1. 自定义显示范围:我们可以调用 mxcad 实例对象的 zoomW() 方法把当前显示范围移到指定的显示范围,该方法中的两个参数minPt,maxPt是显示范围的最小点和最大点。
ts
import { MxCpp, McGePoint3d } from "mxcad"

const mxcad = MxCpp.getCurrentMxCAD()
mxcad.zoomW(new McGePoint3d(0, 0), new McGePoint3d(30, 30))
  1. 显示全部:我们可以调用 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");