乐筑天下

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

[编程交流] 将倒角结果更改为

[复制链接]

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 08:21:22 | 显示全部楼层 |阅读模式
大家好
 
是否有人有Lisp例程将倒角创建的对角线转换为当前层而不是线的原始层?如果有任何帮助,我将不胜感激。
 
 
谢谢
布瑞恩
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 08:34:16 | 显示全部楼层
你所说的版本(2000i)是旧的LT版本吗?是否支持LISP?
回复

使用道具 举报

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 08:37:36 | 显示全部楼层
我们使用2000i和2012
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 08:51:08 | 显示全部楼层
  1. (defun c:Chamfer2 (/ ent)
  2. (setq ent (entlast))
  3. (command "_.chamfer")
  4. (while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
  5. (if (not (equal ent (setq ent (entlast))))
  6.    (entmod (list (cons 8 (getvar 'CLAYER)) (cons -1 ent)))
  7. )
  8. (princ)
  9. )
回复

使用道具 举报

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 08:52:37 | 显示全部楼层
谢谢,这正是我想要的。。。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 08:59:04 | 显示全部楼层
不客气。
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

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

铜币
474
发表于 2022-7-6 09:11:23 | 显示全部楼层
但是,当Trimmode变量设置为零时,对多段线对象进行倒角时,倒角可能会导致多个对象。
在这种情况下,alanjt的nice代码可以编辑为:
 
  1. (defun c:Chamfer2 (/ ent)
  2. (setq ent (entlast))
  3. (command "_.chamfer")
  4. (while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
  5. [b][color=purple](while (setq ent (entnext ent))
  6. [/color][/b](entmod (list (cons 8 (getvar 'CLAYER)) (cons -1 ent)))
  7. )
  8. (princ)
  9. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:16:20 | 显示全部楼层
当“entlast”是属性块或多段线时,请小心。
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

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

铜币
474
发表于 2022-7-6 09:25:27 | 显示全部楼层
我检查了多段线,它不会对顶点和序列对象造成任何错误,但会更改属性对象。因此,可以将代码编辑为:
  1. (defun c:Chamfer2 (/ ent)
  2. (setq ent (entlast))
  3. (command "_.chamfer")
  4. (while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
  5. (while (setq ent (entnext ent))
  6. (or
  7.   (member (cdr (assoc 0 (entget ent))) '("ATTRIB" "VERTEX" "SEQUEND"))
  8.   (entmod (list (cons 8 (getvar 'CLAYER)) (cons -1 ent)))
  9. )
  10. )
  11. (princ)
  12. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 08:24 , Processed in 0.469774 second(s), 70 queries .

© 2020-2025 乐筑天下

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