乐筑天下

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

[编程交流] 为什么只能选择圆直径

[复制链接]

5

主题

31

帖子

26

银币

初来乍到

Rank: 1

铜币
26
发表于 2022-7-5 20:53:08 | 显示全部楼层
 
谢谢你的想法。使用“Rad”替换DXF 40?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:55:50 | 显示全部楼层
 
 
如果您的lst变量是静态的,您可以构建如下代码。
 
  1. (setq lst '((2.5 "M3" 0.06 1.5)
  2.            (3.3 "M4" 0.08 1.5)
  3.            (4.2 "M5" 0.1 2.5)
  4.            (5.0 "M6" 0.12 3.0)
  5.            (6.8 "M8" 0.16 4.0)
  6.            (8.5 "M10" 0.2 5.0)
  7.            (10.5 "M12" 0.24 6.0)
  8.            (12.0 "M14" 0.28 7.0)
  9.            (14.0 "M16" 0.32 8.0)
  10.            (15.5 "M18" 0.36 9.0)
  11.            (17.5 "M20" 0.4 10.0)
  12.            )
  13.      )
  14. (ssget
  15. (append '((0 . "circle") (-4 . "<or"))
  16.          (mapcar '(lambda (v) (cons 40 (/ v 2.)))
  17.                  (mapcar 'car lst)
  18.                  )
  19.          '((-4 . "or>"))
  20.          )
  21. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 21:00:54 | 显示全部楼层
我建议的是一种不同的方法,使用cond代替创建LST,并设置接下来的3个变量rad=2.5“M3”0.06 1.5最后一个测试是rad>0.0(警报“未找到大小”)
 
Tharwat一如既往地提供了一个与您的方法相匹配的解决方案,通常有许多方法可以完成相同的任务。
回复

使用道具 举报

5

主题

31

帖子

26

银币

初来乍到

Rank: 1

铜币
26
发表于 2022-7-5 21:03:33 | 显示全部楼层
 
谢谢你,塔瓦先生。
我测试了一下,但没有成功。没关系。我使用半径。
 
我有两个问题。
1、我想换一层中心线,怎么换?
  1.    (setq cir (vlax-invoke space 'addcircle pcen r)
  2.          arc (vlax-invoke space 'addarc pcen mr 4.71239 3.14159)
  3. [color="#ff00ff"]        ln1 (vlax-invoke space 'addline p1 p3)
  4.          ln2 (vlax-invoke space 'addline p2 p4)[/color]
  5.    )
  6.    (mapcar '(lambda (x)
  7.               (vlax-put (car x) 'layer "screw")
  8.               (vlax-put (car x) 'color (cadr x))
  9.               (vlax-put (car x) "linetype" (caddr x))
  10.               (vlax-put (car x) "linetypescale" xk)
  11.             )
  12.            (list (list cir 33 cel)
  13.                  (list arc 3 cel)
  14.     [color="#ff00ff"]             (list ln1 1 "center")
  15.                  (list ln2 1 "center")[/color]
  16.            )
  17.    )

 
2.稍等片刻
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 21:06:38 | 显示全部楼层
 
不,我之前发布的应该有效,我不知道你是如何运行代码的。
 
 
 
我想你们有两条线,怎么可能是中心线呢?
回复

使用道具 举报

5

主题

31

帖子

26

银币

初来乍到

Rank: 1

铜币
26
发表于 2022-7-5 21:10:01 | 显示全部楼层
 
是的,我的意思是这两条线是中心线。
 
你好Tharwat先生
问题2。
 
如果选择圆线型为“连续”,则将圆线宽更改为0.35
  1.    (setq [color="red"]cir (vlax-invoke space 'addcircle pcen r)[/color]
  2.          arc (vlax-invoke space 'addarc pcen mr 4.71239 3.14159)
  3.          ln1 (vlax-invoke space 'addline p1 p3)
  4.          ln2 (vlax-invoke space 'addline p2 p4)
  5.    )
  6.    (mapcar '(lambda (x)
  7.               (vlax-put (car x) 'layer "screw")
  8.               (vlax-put (car x) 'color (cadr x))
  9.               (vlax-put (car x) "linetype" (caddr x))
  10.               (vlax-put (car x) "linetypescale" xk)
  11.             )
  12.            (list[color="red"] (list cir 33 cel)[/color]
  13.                  (list arc 3 cel)
  14.                  (list ln1 1 "center")
  15.                  (list ln2 1 "center")
  16.            )
  17.    )

212030wn7x7m5mmhdmnhnz.png
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 21:13:39 | 显示全部楼层
大概试试看。
  1. (mapcar '(lambda (x)
  2.           (vlax-put (car x) 'layer "screw")
  3.           (vlax-put (car x) 'color (cadr x))
  4.           (vlax-put (car x) "linetype" (caddr x))
  5.           (vlax-put (car x) "linetypescale" xk)
  6.          
  7.           (if (and (eq (vla-get-objectname (car x)) "AcDbCircle")
  8.                    (eq (vla-get-linetype (car x)) "Continuous")
  9.                    )
  10.             (vla-put-lineweight (car x) acLnWt035)
  11.             )
  12.          
  13.           )
  14. (.....................
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 21:20:17 | 显示全部楼层
有一个简单的拼写错误,我确实纠正了它,再次看看我的最后一个答复。
 
非常感谢。
 
如果您在这里将entmake函数与实体DXF代码一起使用,则可以更好更快地获得各种属性。
回复

使用道具 举报

5

主题

31

帖子

26

银币

初来乍到

Rank: 1

铜币
26
发表于 2022-7-5 21:20:49 | 显示全部楼层
 
谢谢你,塔瓦先生。我知道entmake,
  1. (entmake (list (cons 0 "LINE")
  2.     (cons 8 "screw");;layer
  3.     (CONS 62 1);; colour
  4.     (cons 6  "CENTER");;linetype
  5.     (cons 48 xk) ;;linescale
  6.     (cons 10 pt2);; frist point
  7.     (cons 11 pt4);;second point
  8.      )
  9.      )
  10. (entmake (list (cons 0 "TEXT")
  11.     (cons 8 "screw")
  12.     (CONS 62 6)
  13.     (cons 10 textpt)
  14.     (cons 40 texth)
  15.     (cons 1 text)
  16.     (cons 7 "TXT")
  17.     (cons 41 1)
  18.     (cons 51 0.0)
  19.     (cons 71 0)
  20.     (cons 72 0)
  21.     (cons 73 0)
  22.     (list 210 0.0 0.0 1.0)
  23.      )
  24.      )

 
但是,我不知道该如何更改lisp的行层:
  1.    (mapcar '(lambda (x)
  2.           (vlax-put (car x) 'layer "screw")
  3.           (vlax-put (car x) 'color (cadr x))
  4.           (vlax-put (car x) "linetype" (caddr x))
  5.           (vlax-put (car x) "linetypescale" xk)      
  6.           (if (and (eq (vla-get-objectname (car x)) "AcDbCircle")
  7.                    (eq (vla-get-linetype (car x)) "Continuous")
  8.                    )
  9.             (vla-put-lineweight cir acLnWt035)
  10.             )
  11.          
  12.           )
  13.            (list (list cir 33 cel)
  14.                  (list arc 3 cel)
  15. [color="#ff00ff"]                  (list ln1 1 "center")
  16.                  (list ln2 1 "center")[/color]
  17.            )
  18.    )

 
 
如何改变文字的层次?
  1.    (if        (member "isText" slst)
  2.      (progn
  3.        (setq txt (vlax-invoke space 'AddText str pcen (* mr 0.4)))
  4.        (vla-put-alignment txt acAlignmentTopCenter)
  5.        (vla-put-textalignmentpoint
  6.          txt
  7.          (vlax-3d-point (polar pcen (- _pi2) (* mr 0.17)))
  8.        )
  9.      )
  10.    )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 08:53 , Processed in 0.559277 second(s), 70 queries .

© 2020-2025 乐筑天下

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