乐筑天下

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

[编程交流] 孔ID的Lisp

[复制链接]

5

主题

45

帖子

40

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 11:58:35 | 显示全部楼层 |阅读模式
需要修改附加的Lisphttp://www.asmitools.com/Files/Lisps/Ordi.html要选择孔,请按以下格式放置文本:
*孔的左侧h/s:直径X Y
*孔的右侧h/s:Y X直径
有关详细信息,请下载附件文件。
非常感谢您的帮助
谢谢你。
Lisp for Holes ID.zip
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 12:06:26 | 显示全部楼层
 
我不能编辑ordi。lsp到你的西装
试试另一个
在您的图纸上进行了轻微测试
 
  1. (defun C:LC (/ ang base color dia ds elist en ent ep layer p1 p2 p3
  2.        pt rad sp txtheight txtstyle xs xv ys yv)
  3. (setvar "osmode" 32)
  4. (setvar "orthomode" 1)
  5. (setq txtheight 35.0
  6. txtstyle "ISOCP"
  7. layer "DIMS"
  8. color 2
  9. )
  10. (setq base (getpoint "\nPick base point (red cross): "))
  11. (while (setq ent (entsel "\nSelect circle (or press Enter to Exit)>> "))
  12.    (setq en (car ent)
  13. elist (entget en)
  14. pt (cdr (assoc 10 elist))
  15.   xv (abs (- (car base)(car pt)))
  16.   xs (rtos xv 2 0)
  17.   yv (abs (- (cadr base)(cadr pt)))
  18.   ys (rtos yv 2 0)
  19. rad (cdr (assoc 40 elist))
  20.   dia (* rad 2)
  21.   ds (rtos dia 2 1)
  22.   )
  23. (setq ep (getpoint pt "\nSpecify end point of leader line >>"))
  24. (setq ang (angle pt ep)
  25.      ep (polar pt ang 700)
  26.      sp (polar pt ang dia)
  27.      p1 (polar pt ang 250)
  28.      p2 (polar p1 ang 150)
  29.      p3 (polar p2 ang 150)
  30.      p1 (polar p1 (/ pi 2) (/ txtheight 2))
  31.      p2 (polar p2 (/ pi 2) (/ txtheight 2))
  32.      p3 (polar p3 (/ pi 2) (/ txtheight 2))
  33.      )
  34. (entmake (list '(0 . "LINE")
  35.                '(100 . "AcDbEntity")
  36.         (cons 67
  37.   (if (= 0 (getvar "tilemode"))
  38.     1
  39.     0))
  40.       (cons 410 (getvar "ctab"))
  41.       (cons 8 layer)
  42.       (cons 62 7)
  43.                '(100 . "AcDbLine")
  44.                (cons 10 sp)
  45.                (cons 11 ep)
  46.          )
  47. )
  48. (entmake
  49.     (list
  50.       '(0 . "TEXT")
  51.       '(100 . "AcDbEntity")
  52.       (cons 67
  53.   (if (= 0 (getvar "tilemode"))
  54.     1
  55.     0))
  56.       (cons 410 (getvar "ctab"))
  57.       (cons 8 layer)
  58.       (cons 62 color)
  59.       '(100 . "AcDbText")
  60.       (cons 10 p1)
  61.       (cons 11 (list (car p1) (- (cadr p1) (/ txtheight 2)) 0.0))
  62.       (cons 40 txtheight)
  63.       (cons 1 ys)
  64.       '(50 . 0.0)
  65.       '(41 . 1.0)
  66.       '(51 . 0.0)
  67.       (cons 7  txtstyle)
  68.       '(71 . 0)
  69.       '(72 . 1)
  70.       '(73 . 1)))
  71.    (entmake
  72.     (list
  73.       '(0 . "TEXT")
  74.       '(100 . "AcDbEntity")
  75.       (cons 67
  76.   (if (= 0 (getvar "tilemode"))
  77.     1
  78.     0))
  79.       (cons 410 (getvar "ctab"))
  80.       (cons 8 layer)
  81.       (cons 62 color)
  82.       '(100 . "AcDbText")
  83.       (cons 10 p2)
  84.       (cons 11 (list (car p2) (- (cadr p2) (/ txtheight 2)) 0.0))
  85.       (cons 40 txtheight)
  86.       (cons 1 xs)
  87.       '(50 . 0.0)
  88.       '(41 . 1.0)
  89.       '(51 . 0.0)
  90.       (cons 7  txtstyle)
  91.       '(71 . 0)
  92.       '(72 . 1)
  93.       '(73 . 1)))
  94.    (entmake
  95.     (list
  96.       '(0 . "TEXT")
  97.       '(100 . "AcDbEntity")
  98.       (cons 67
  99.   (if (= 0 (getvar "tilemode"))
  100.     1
  101.     0))
  102.       (cons 410 (getvar "ctab"))
  103.       (cons 8 layer)
  104.       (cons 62 color)
  105.       '(100 . "AcDbText")
  106.       (cons 10 p1)
  107.       (cons 11 (list (car p3) (- (cadr p3) (/ txtheight 2)) 0.0))
  108.       (cons 40 txtheight)
  109.       (cons 1 ds)
  110.       '(50 . 0.0)
  111.       '(41 . 1.0)
  112.       '(51 . 0.0)
  113.       (cons 7  txtstyle)
  114.       '(71 . 0)
  115.       '(72 . 1)
  116.       '(73 . 1)))
  117.    )
  118. (princ)
  119. )
  120. (prompt "\n   >>>   Type LC to run...")
  121. (prin1)

 
~'J'~
回复

使用道具 举报

5

主题

45

帖子

40

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:10:05 | 显示全部楼层
谢谢你,菲索
Lisp是可以的,但如果你能使引线作为命令dimmotic工作,这样我们就可以把它放在任何我们喜欢的地方。Lisp程序会很完美。
干杯
PP。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 12:12:33 | 显示全部楼层
 
嗨,菲菲,早上好
 
现在在我这一方为时已晚
 
只会在明天帮你
 
干杯
 
~'J'~
回复

使用道具 举报

5

主题

45

帖子

40

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:17:48 | 显示全部楼层
非常感谢,菲索。
有关详细部分,请参阅附件文件。
干杯
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 12:18:41 | 显示全部楼层
 
这里是上一个lisp,试试看
(部分借用ASMI的lisp)
我过一会儿再看你的新画
 
  1. ;; local defun  
  2. (defun dxf (key elist)
  3. (cdr (assoc key elist))
  4. )
  5. ;; main part  
  6. (defun C:LC (/ *error* ang base color dia ds dxflist elist en ent ep layer osm ort
  7.        p1 p2 p3 pt rad sp txtheight txtstyle xs xv ys yv vpt)
  8. ;; error trapping routine
  9. (defun *error* (msg)
  10. (if
  11.    (and msg
  12.    (vl-position
  13.      msg
  14.      '("console break"
  15. "Function cancelled"
  16. "quit / exit abort"
  17. )
  18.      )
  19. )
  20.    (princ (strcat "\n** Error: " msg " **"))
  21.    (princ "\nError!")
  22.    )
  23. (command "undo" "end")  
  24. (if osm (setvar "osmode" osm))
  25. (if ort (setvar "orthomode" ort))
  26. )
  27. (command "undo" "begin")
  28. (setq osm (getvar "osmode"))
  29. (setvar "osmode" 32)
  30. (setq ort (getvar "orthomode"))
  31. (setvar "orthomode" 0)
  32. (setq txtheight 35.0
  33. txtstyle "ISOCP"
  34. layer "DIMS"
  35. color 2
  36. )
  37. (setq base (getpoint "\nPick base point (red cross): "))
  38. (while (setq ent (entsel "\nSelect circle (or press Enter to Exit)>> "))
  39.    (setq en (car ent)
  40. elist (entget en)
  41. pt (cdr (assoc 10 elist))
  42.   xv (abs (- (car base)(car pt)))
  43.   xs (rtos xv 2 0)
  44.   yv (abs (- (cadr base)(cadr pt)))
  45.   ys (rtos yv 2 0)
  46. rad (cdr (assoc 40 elist))
  47.   dia (* rad 2)
  48.   ds (rtos dia 2 1)
  49.   )
  50. (command "_.dimordinate" "_non" pt "_t" (strcat ys "\t" xs "\t" ds) pause)
  51. (setq dxflist (entget (entlast))
  52.      vpt (dxf 14 dxflist)
  53.      )
  54. (if  (> (* pi 1.5) (angle pt vpt) (/ pi 2))
  55.       (setq dxflist (subst (cons 1 (strcat ds "\t" xs "\t" ys))(assoc 1 dxflist) dxflist))
  56.        (setq dxflist (subst (cons 1 (strcat ys "\t" xs "\t" ds))(assoc 1 dxflist) dxflist))
  57. )
  58. (entmod dxflist)
  59. (entupd (entlast))
  60.    )
  61. (*error* nil)
  62. (princ)
  63. )
  64. (prompt "\n   >>>   Type LC to run...")
  65. (prin1)

 
~'J'~
回复

使用道具 举报

5

主题

45

帖子

40

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:25:21 | 显示全部楼层
谢谢菲索。
祝你圣诞快乐,新年快乐!
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 12:29:28 | 显示全部楼层
 
祝你和你的家人圣诞快乐,新年快乐!
上帝保佑你!
谢谢,
~'J'~
回复

使用道具 举报

5

主题

45

帖子

40

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:33:51 | 显示全部楼层
嗨,菲索,
我在选择一块圆时遇到了一个问题。你能帮我解决这个问题吗?顺便问一下,你能添加一个选项,允许选择任何端点,然后将文本放置在与普通格式相同的位置,但将“Note”替换为圆的直径吗。
左侧:注释X Y
右侧:Y X注释
非常感谢。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 12:37:45 | 显示全部楼层
嗨,菲菲
这对我来说还不够清楚:这意味着什么
-圆形块?
更好的是,你可以上传一张照片或
带说明的样本图纸(作为2007年或更旧版本)
 
~'J'~
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:15 , Processed in 0.386592 second(s), 72 queries .

© 2020-2025 乐筑天下

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