只需调用这一行代码:
(setvar 'Insunits 4); change drawing units to mm
... 但请注意,绘图可能以英寸为单位,而不设置insunits的值。 谢谢你的回复!但当我尝试在命令行中键入此代码时。它返回4,然后我再次键入命令“units”。但绘图单位与之前相同(即“英寸”)。有什么问题吗?
单位和单位是两种不同的东西。单位控制AutoCAD认为正在使用的系统。一个单元的真正含义仍然取决于绘图员。e、 g.虽然单位可以设置为英寸,但我仍然可以在1单位=1mm时以毫米为单位绘制位。
INSUNITS控制插入图形的缩放方式。再次假设当前图形和插入图形各自具有哪些单位。
仅更改这些变量不会更改图形。
谢谢dbroada!你知道哪个变量表示绘图单位是英寸吗?它是否包含在setvar中? 我原以为它是单位变量,但现在看,我发现它不是。除非它是块的一部分,否则图形似乎是无单位的。我不得不承认以前没有研究过这个,因为我们通常画无单位图,我最近才开始把我的块度量。 在普通(普通)AutoCAD中:如果使用UNITS命令,大多数设置都会显示在对话框中。您看到的“主要”是对话框中间的“插入比例”,但实际上这是INSUNITS值(1=英寸;4=毫米;等等)。所以试试这个:
这将在对话框中显示图形现在的单位是毫米。
还有另一个系统变量需要注意:测量。如果为0,则acad将使用设计为英寸的图案填充和线型。如果为1,则acad将使用为mm设计的图案填充和线型。
...
但是
...
你是艾达对吗?在那里,情况完全不同。E、 g.如果我将图形从英寸更改为毫米,那么会发生很多事情(包括缩放MS/PS对象,如果您选择该选项)。为了测试,我使用了一些lisp反应器来检查哪些sysvars已经更改,以及发出了哪些命令:
当我加载它并运行UNITS命令时,我在命令行中得到:
因此,变化的系统变量为:INSUNITS=1=>4;LUNITS=4=>2。然后发生了一些“事情”,AECDWGUNITSSETUP命令结束(这是ACA版本的UNITS命令的“真实”名称)。
不幸的是,在这些缩放过程中发生了什么。。。我说不出台词。
谢谢你的帮助,我会试试这个。 我从其他专家那里找到了程序代码,使用这个函数可以确定绘图中使用的绘图单位吗?但它需要dbview。arx文件。然而,它在AA2011中不再支持。还有其他方法做同样的事情吗?谢谢
(defun jb:GetADTVar(var/dict vars ret)
;检查dict是否存在,如果不存在,则初始化它。
(if(not(cdar(dictsearch(namedobjdict)“AEC\u VARS”))
(aeclayerkeylist)
(setq dict(dictsearch)
(cdar(dictsearch(namedobjdict)“AEC\u VARS”)
“AEC\u VARS\u DWG\u设置”)
变量(成员“(100。“AecDbVarsDwgSetup”)dict)
ret(cdr(assoc var var)))
ret)
(jb:GetADTVar 71)
英尺返回30
英寸返回31
毫米返回25
厘米返回24
分米返回23
仪表返回2
页:
1
[2]