乐筑天下

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

[编程交流] 添加倒角引线

[复制链接]

11

主题

33

帖子

22

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 09:38:55 | 显示全部楼层 |阅读模式
此编码只能选择直线,不能选择多段线
如何更改代码,以便用户可以选择直线和多段线来添加尺寸/引线
 
TQ公司
 
 
  1. (defun C:DCH(/ CL CHAM DL PT1 PT2 ANG ANG1 DIST PT3 PT4 DIST1 T1 H1 V1)
  2. (defun *error* (msg) (setq *error* nil) (princ))
  3. (setq old10 (getvar "ucsorg"))
  4. (command "_ucs" "w")
  5. (command "_ucsicon" "or")
  6.   (setvar "CMDECHO" 0)
  7.   (setq CL(getvar "CLAYER")
  8.         CHAM(entget(car(entsel "\nSelect Chamfer to Dimension: ")))
  9.         PT1(cdr(assoc 10 CHAM))
  10.         PT2(cdr(assoc 11 CHAM))
  11.         ANG(angle PT1 PT2)
  12.         ANG1(angtos ANG 0 0)
  13.         DIST(distance PT1 PT2))
  14.   (cond
  15.     ((or(= ANG1 "45")(= ANG1 "135")(= ANG1 "225")(= ANG1 "315"))
  16.         (setq PT3(polar PT1 ANG (/ DIST 2.0))
  17.               PT4(getpoint "\nNote Location: ")
  18.               DIST1(rtos(* DIST(abs(cos ANG))) 2 2)
  19.               T1(strcat "C"DIST1))
  20.      (command "leader" pt3 pt4 "" "" "" T1 "")
  21.     )
  22.     ((or(and(> ANG1 "0")(< ANG1 "45"))
  23.         (and(> ANG1 "45")(< ANG1 "135"))
  24.         (and(> ANG1 "135")(< ANG1 "225"))
  25.         (and(> ANG1 "225")(< ANG1 "315"))
  26.         (and(> ANG1 "315")(< ANG1 "360")))   
  27.         (setq H1(getpoint "\nHorizontal Dimension Line Location: ")
  28.               V1(getpoint "\nVertical Dimension Line Location: "))
  29.         (command "layer" "s" DL "" "dim" "horizontal" PT1 PT2 H1 "" "vertical" PT1 PT2 V1 "" nil)
  30.     )         
  31.   )
  32.   (command "layer" "s" CL "")
  33. )
回复

使用道具 举报

18

主题

78

帖子

61

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-6 10:44:07 | 显示全部楼层
您好,我是lisp新手,所以我不完全理解您想要做什么,但您不能使用内置于

                               
登录/注册后可看大图
utocad,允许对多段线进行倒角
这里有一个使用该功能的小lisp
 
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. (defun PLC()
  3. (setq ply (entsel "\nSelect Polyline you wish to Chamfer: "))
  4. (setq disa (getreal "\nEnter distance from corner to chamfer: "))
  5. (setq anga 45)
  6. (command "chamfer" "angle" disa 315)
  7. (command "chamfer" "polyline" ply)
  8. );end defun PLC
  9. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:01 , Processed in 0.706932 second(s), 59 queries .

© 2020-2025 乐筑天下

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