乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: ectech

[编程交流] 将图形从英寸转换为

[复制链接]

91

主题

428

帖子

326

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-6 10:07:44 | 显示全部楼层
 
只需调用这一行代码:
  1. (setvar 'Insunits 4); change drawing units to mm

 
... 但请注意,绘图可能以英寸为单位,而不设置insunits的值。
回复

使用道具 举报

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 10:10:07 | 显示全部楼层
谢谢你的回复!但当我尝试在命令行中键入此代码时。它返回4,然后我再次键入命令“units”。但绘图单位与之前相同(即“英寸”)。有什么问题吗?
 
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 10:12:48 | 显示全部楼层
单位和单位是两种不同的东西。单位控制AutoCAD认为正在使用的系统。一个单元的真正含义仍然取决于绘图员。e、 g.虽然单位可以设置为英寸,但我仍然可以在1单位=1mm时以毫米为单位绘制位。
 
INSUNITS控制插入图形的缩放方式。再次假设当前图形和插入图形各自具有哪些单位。
 
仅更改这些变量不会更改图形。
回复

使用道具 举报

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 10:17:03 | 显示全部楼层
 
谢谢dbroada!你知道哪个变量表示绘图单位是英寸吗?它是否包含在setvar中?
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 10:20:14 | 显示全部楼层
我原以为它是单位变量,但现在看,我发现它不是。除非它是块的一部分,否则图形似乎是无单位的。我不得不承认以前没有研究过这个,因为我们通常画无单位图,我最近才开始把我的块度量。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 10:23:54 | 显示全部楼层
在普通(普通)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命令的“真实”名称)。
 
不幸的是,在这些缩放过程中发生了什么。。。我说不出台词。
回复

使用道具 举报

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 10:27:35 | 显示全部楼层
 
谢谢你的帮助,我会试试这个。
回复

使用道具 举报

19

主题

60

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2022-7-6 10:33:10 | 显示全部楼层
我从其他专家那里找到了程序代码,使用这个函数可以确定绘图中使用的绘图单位吗?但它需要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
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 02:07 , Processed in 0.593032 second(s), 77 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表