乐筑天下

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

[编程交流] 关于Command & quot改变& quot

[复制链接]

10

主题

51

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2022-7-20 20:12:01 | 显示全部楼层 |阅读模式
这里有一个例子。
我想将现有图形上的模型空间和布局的线型比例都恢复为“1”。
我注意到当(setvar "tilemode" 1)在布局上找到实体时,命令“Change”将终止。
= = = = =
编辑:
我使用(ssget "_X ")来选择整个图形上的所有内容。非常感谢你的帮助。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

72

主题

738

帖子

75

银币

中流砥柱

Rank: 25

铜币
957
发表于 2022-7-20 22:57:24 | 显示全部楼层
当然,你可以通过LISP做到这一点...
循环访问(ssget“_X”),检查用于承载行类型刻度的DXF组代码的可用性...我认为像(48 . 1.0);然后改变它...
回复

使用道具 举报

10

主题

51

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2022-7-20 23:41:07 | 显示全部楼层

做什么如果有非线性类型的实体
回复

使用道具 举报

72

主题

738

帖子

75

银币

中流砥柱

Rank: 25

铜币
957
发表于 2022-7-21 00:57:12 | 显示全部楼层

如果图形上有非线型图元(例如圆、块…),该怎么办

无需担心,只需初步检查DXF 48:
  1. (defun c:foo ( / ss i ex )
  2.   (if (setq ss (ssget "_X"))
  3.     (repeat (setq i (sslength ss))
  4.       (setq ex (entget (ssname ss (setq i (1- i)))))
  5.       (if (assoc 48 ex)
  6.         (entupd (cdr (assoc -1 (entmod (subst (cons 48 1.0) (assoc 48 ex) ex)))))
  7.       )
  8.     )
  9.   )
  10.   (princ)
  11. )

回复

使用道具 举报

10

主题

51

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2022-7-21 02:42:04 | 显示全部楼层
太好了,它起作用了。
如果我只选择一行,代码将返回如下所示的内容。
  1. (setq ex (entget (ssname ss (setq i (1- i))))) returns:
  2. ((-1 . ) (0 . "LWPOLYLINE") (330 . ) (5 . "394D") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "Floor") (100 . "AcDbPolyline") (90 . 3) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 54.7889 930.635) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 895.88 930.635) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 895.88 1590.1) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0))

什么是直线线型的群组码?
我在寻求帮助时感到困惑。答案是“6”吗?
我这样问是因为我也想将线型特性重置为“按图层”。
谢谢。
回复

使用道具 举报

10

主题

51

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2022-7-21 12:28:28 | 显示全部楼层
不谈,你会发现这个简单的实用程序时有用
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-21 21:06:06 | 显示全部楼层
谢谢李。
您的网站信息量很大,很有帮助...
我想进一步了解实体属性。Q1。
除了“颜色”和“线型”,线宽、透明度和材质的组码是什么?
我不确定“370”是否是“线宽”的组码。Q2。
而且有点意思(62。“Bylayer”)不适用于将颜色设置为“bylayer”而不是(62。256).
正确吗?
那如何设置为“byblock”呢?
Q3。
此外,如何将“按层”或“按块”设置为“线宽”、“透明度”和“材质”,因为它们不是数值?
回复

使用道具 举报

10

主题

51

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2022-7-22 14:36:49 | 显示全部楼层
在这里阅读: http://docs.autodesk.com/ACAD_E/2012/ENU/filesDXF/WS1a9193826455f5ff18cb41610ec0a2e719-7a62.htm
回复

使用道具 举报

10

主题

51

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
86
发表于 2022-7-24 20:15:57 | 显示全部楼层
对不起,正如我所提到的我读过但我的帮助
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-25 17:01:22 | 显示全部楼层
所有实体通用的分组代码可在此处找到;简而言之,对于基本对象属性,我们有:8 = Layer。
62 =颜色。
370 =线宽。
6 =线型根据链接的参照,材质由DXF组347(指向材质图元的指针)存储,图元透明度由DXF组440存储,DXF组码具有基于组码所属范围的特定数据类型;根据引用,DXF组60-79总是16位整数值,因此DXF组62必须保存16位整数值,对于第一个链接的参照,对“ByLayer”使用256,对“ByBlock”使用0,这些都在上面链接的参考资料中进行了解释。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-5-24 21:56 , Processed in 1.401344 second(s), 72 queries .

© 2020-2025 乐筑天下

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