乐筑天下

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

[编程交流] 带级别的标注请帮助f

[复制链接]

10

主题

26

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 14:41:25 | 显示全部楼层 |阅读模式
你好
 
请帮助我使用Autocad 2009绘制MEP协调剖面图,我需要一条lsp路线,该路线将自动提供一个标高的注释,请参见下面的附图:
 
我还附上了我的注释。lsp可以了,请把它修好,因为当我使用它作为UCS模型绘制时,它会在X和Y坐标上旋转图标,我喜欢在UCS布局上也使用它。
 
请帮忙。。。
 
  1. (defun c:vl (/ p1 sub sub2)
  2. (setq osm(getvar "osmode"))
  3. (setq cla(getvar "clayer"))
  4. (command "ucs" "w")
  5. (command "attdia" "1")
  6. (command "osmode" "0")
  7. (command "layer" "n" "0-callout" "")
  8. (command "clayer" "0-Callout")
  9. (setq atd(getvar "attdia"))
  10. (setq bs " ")
  11. (setq def "t")
  12. (while def
  13. (command "attdia" 0)
  14. (if (= p1 nil) (command "insert" "AS-LVTX" pause "" "" "" bs bs bs ""))
  15. (if (/= p1 nil) (command "insert" "AS-LVTX" p1 "" "" "" bs bs bs ""))
  16. (command "attdia" atd)
  17. ;;;
  18. (setq abc "t")
  19. (while abc
  20. ;;;
  21. (setq ent (entlast))
  22. (setq p1 (cdr (assoc 10 (entget ent))))
  23. (setq p1x (car p1))
  24. (setq p1y (cadr p1))
  25. ;;;
  26. (initget 8 "u d s")
  27. (setq obj (getkword "Up/Down/Space?"))
  28. ;
  29. (if (= obj "s")
  30. (setq sub2 (getdist "set new distance:"))
  31. (setq sub sub2))
  32. (if (= sub2 nil) (setq sub 6))
  33. ;
  34. (if (= obj "u")
  35. (progn
  36. (setq p1y1 (+ p1y sub))
  37. (setq p1 (list p1x p1y1))
  38. (setq u1 (assoc 10 (entget ent)))
  39. (setq u2 (cons (car u1) (list p1x p1y1)))
  40. (setq u3 (subst u2 u1 (entget ent)))
  41. (entmod u3))
  42. (if (= obj nil) (setq abc nil)))
  43. (if (= obj "d")
  44. (progn
  45. (setq p1y1 (- p1y sub))
  46. (setq p1 (list p1x p1y1))
  47. (setq u1 (assoc 10 (entget ent)))
  48. (setq u2 (cons (car u1) (list p1x p1y1)))
  49. (setq u3 (subst u2 u1 (entget ent)))
  50. (entmod u3))
  51. (if (= obj nil) (setq abc nil))))
  52. (if (or (/= obj "u") (/= obj "d")) (setq p2 (getpoint "pick target:" p1)))
  53. (if (= p2 nil) (setq def nil))
  54. (command "erase" ent "")
  55. ;;;
  56. ;;;
  57. (setq pp1x (cdr p1))
  58. (setq p1x (car p1))
  59. (if (< (car p1) (car p2))
  60. (progn
  61. (if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
  62. (if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
  63. (if (< (cadr p2) (cadr p1))
  64. (progn
  65. (setq pp3x (- (* 1 p1x) 17))
  66. (setq pp3 (list pp3x p1y 00))
  67. (command "dimstyle" "r" "non")
  68. (setq p3 (polar p2 (+ 0.0 (dtr -60)) (* p3d 1.1547)))
  69. (command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))
  70. (if (< (cadr p1) (cadr p2))
  71. (progn
  72. (setq pp3x (- (* 1 p1x) 17))
  73. (setq pp3 (list pp3x p1y 00))
  74. (command "dimstyle" "r" "non")
  75. (setq p3 (polar p2 (+ 0.0 (dtr 60)) (* p3d 1.1547)))
  76. (command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
  77. (if (< (car p2) (car p1))
  78. (progn
  79. (if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
  80. (if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
  81. (if (< (cadr p2) (cadr p1))
  82. (progn
  83. (command "dimstyle" "r" "non")
  84. (setq p3 (polar p2 (+ 0.0 (dtr -120)) (* p3d 1.1547)))
  85. (command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))
  86. (if (< (cadr p1) (cadr p2))
  87. (progn
  88. (command "dimstyle" "r" "non")
  89. (setq p3 (polar p2 (+ 0.0 (dtr 120)) (* p3d 1.1547)))
  90. (command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
  91. (setq vs2 (* 2 (getvar "useri3")))
  92. (command "insert" "LD-CRPT" p2 vs2 vs2 ""))
  93. (command "osmode" osm)
  94. (command "clayer" cla)
  95. (princ))

 
BR
 
Jhun先生
示例1.pdf
回复

使用道具 举报

10

主题

26

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 15:57:51 | 显示全部楼层
你好
 
有关我需要的Lisp路径的更多信息,请参阅附件PDF文件
 
我有Lisp程序的例行程序,它在60岁时画一个领导者;120; 240; 320度的角度,所以你不必目瞪口呆
  1. ;(setq vs2(* 2 (getvar "useri1")))
  2. (defun dtr (a)
  3. (* pi (/ a 180.0))
  4. )
  5. (defun rtd (a)
  6. (/ (* a 180.0) pi)
  7. )
  8. (defun c:leang (/ p1 sub sub2)
  9. (setq osm(getvar "osmode"))
  10. (setq cla(getvar "clayer"))
  11. (command "ucs" "w")
  12. (command "attdia" "1")
  13. (command "osmode" "0")
  14. (command "layer" "n" "0-callout" "")
  15. (command "clayer" "0-Callout")
  16. (setq atd(getvar "attdia"))
  17. (setq bs " ")
  18. (setq def "t")
  19. (while def
  20. (command "attdia" 0)
  21. (if (= p1 nil) (command "insert" "AS-LVTX" pause "" "" "" bs bs bs ""))
  22. (if (/= p1 nil) (command "insert" "AS-LVTX" p1 "" "" "" bs bs bs ""))
  23. (command "attdia" atd)
  24. ;;;
  25. (setq abc "t")
  26. (while abc
  27. ;;;
  28. (setq ent (entlast))
  29. (setq p1 (cdr (assoc 10 (entget ent))))
  30. (setq p1x (car p1))
  31. (setq p1y (cadr p1))
  32. ;;;
  33. (initget 8 "u d s")
  34. (setq obj (getkword "Up/Down/Space?"))
  35. ;
  36. (if (= obj "s")
  37. (setq sub2 (getdist "set new distance:"))
  38. (setq sub sub2))
  39. (if (= sub2 nil) (setq sub 6))
  40. ;
  41. (if (= obj "u")
  42. (progn
  43. (setq p1y1 (+ p1y sub))
  44. (setq p1 (list p1x p1y1))
  45. (setq u1 (assoc 10 (entget ent)))
  46. (setq u2 (cons (car u1) (list p1x p1y1)))
  47. (setq u3 (subst u2 u1 (entget ent)))
  48. (entmod u3))
  49. (if (= obj nil) (setq abc nil)))
  50. (if (= obj "d")
  51. (progn
  52. (setq p1y1 (- p1y sub))
  53. (setq p1 (list p1x p1y1))
  54. (setq u1 (assoc 10 (entget ent)))
  55. (setq u2 (cons (car u1) (list p1x p1y1)))
  56. (setq u3 (subst u2 u1 (entget ent)))
  57. (entmod u3))
  58. (if (= obj nil) (setq abc nil))))
  59. (if (or (/= obj "u") (/= obj "d")) (setq p2 (getpoint "pick target:" p1)))
  60. (if (= p2 nil) (setq def nil))
  61. (command "erase" ent "")
  62. ;;;
  63. ;;;
  64. (setq pp1x (cdr p1))
  65. (setq p1x (car p1))
  66. (if (< (car p1) (car p2))
  67. (progn
  68. (if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
  69. (if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
  70. (if (< (cadr p2) (cadr p1))
  71. (progn
  72. (setq pp3x (- (* 1 p1x) 17))
  73. (setq pp3 (list pp3x p1y 00))
  74. (command "dimstyle" "r" "non")
  75. (setq p3 (polar p2 (+ 0.0 (dtr -60)) (* p3d 1.1547)))
  76. (command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))
  77. (if (< (cadr p1) (cadr p2))
  78. (progn
  79. (setq pp3x (- (* 1 p1x) 17))
  80. (setq pp3 (list pp3x p1y 00))
  81. (command "dimstyle" "r" "non")
  82. (setq p3 (polar p2 (+ 0.0 (dtr 60)) (* p3d 1.1547)))
  83. (command "leader" p2 p3 pp3 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
  84. (if (< (car p2) (car p1))
  85. (progn
  86. (if (< (cadr p1) (cadr p2)) (setq p3d (- (cadr p1) (cadr p2))))
  87. (if (< (cadr p2) (cadr p1)) (setq p3d (- (cadr p2) (cadr p1))))
  88. (if (< (cadr p2) (cadr p1))
  89. (progn
  90. (command "dimstyle" "r" "non")
  91. (setq p3 (polar p2 (+ 0.0 (dtr -120)) (* p3d 1.1547)))
  92. (command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))
  93. (if (< (cadr p1) (cadr p2))
  94. (progn
  95. (command "dimstyle" "r" "non")
  96. (setq p3 (polar p2 (+ 0.0 (dtr 120)) (* p3d 1.1547)))
  97. (command "leader" p2 p3 p1 "a" "" "b" "AS-LVTX" p1 "" "" "")))))
  98. (setq vs2 (* 2 (getvar "useri3")))
  99. (command "insert" "LD-CRPT" p2 vs2 vs2 ""))
  100. (command "osmode" osm)
  101. (command "clayer" cla)
  102. (princ))

 
-我只想重新修改它,因为当我在旋转UCS视图的模型图形上使用时,引线也将根据X/Y轴方向旋转,我如何重新对齐它而不影响UCS方向。
 
-我还需要文本引线,通过拾取风管/管道服务层底部的地面标高来自动创建标高。它只类似于尺寸,它将在文字引线上创建尺寸。
 
如果有机会,请帮助我确定这条路线,以便我更容易在协调图纸上确定标注标高,
 
谢谢和问候
JG公司
leang。拉链
示例2.pdf
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 00:27 , Processed in 0.395816 second(s), 56 queries .

© 2020-2025 乐筑天下

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