乐筑天下

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

[编程交流] 亲爱的朋友们,请帮我联系ge

[复制链接]

4

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 15:10:16 | 显示全部楼层 |阅读模式
我试了很多次想得到海拔,但我做不到。有人能解决这个问题吗?
DSS。dwg[/ATTACH]
标记点。lsp
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:45:32 | 显示全部楼层
  1. (defun C:ENZ (/ ov p pt e n z)
  2. (setq ov (getvar 'cmdecho))
  3. (setvar 'cmdecho 0)
  4. (while (and (setq p (getpoint "\nPick Point : ")) (setq pt (getpoint p "\nInsert Text : ")))
  5.    (progn (mapcar '(lambda(a b) (set a (strcat (vl-princ-to-string a) "= " (rtos b 2 3)))) '(E N Z) p)
  6.    (eval (vl-list* vl-cmdf
  7.                    "_leader"
  8.                    "_non"
  9.                    'p
  10.                    "_non"
  11.                    'pt
  12.                    ""
  13.                    (list E N Z "")
  14.                    )
  15.          )
  16.    (princ (strcat "\r" E " " N " " Z))
  17.    
  18.    )
  19.    )
  20. (if ov (setvar 'cmdecho 0))
  21. (princ "Done!\n")
  22. (princ)
  23. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:56:39 | 显示全部楼层
这是一个拼写错误
 
  1. (setq P1Z (cadr pnt1))   ; returns Y
  2. (setq P1Z (cad[color="red"]d[/color]r pnt1)) ; returns Z
  3. also need ;
  4. [color="red"];[/color] Labeling N,E,Z Coordinates with Leader - David B. Stewart

 
如果需要,您可以压缩代码,并且不使用太多变量。
 
  1. (defun C:LP(/ pnt1 COORDN COORDE PTXT)
  2.    (setq PNT1 (getpoint  "\nPick coordinate point: "))
  3.    (setq COORDN (strcat "E " (rtos (car pnt1) 2 3)  ))
  4.    (setq COORDE (strcat "N " (rtos (cadr pnt1) 2 3)  ))
  5.    (setq ELEZ (strcat "EL " (rtos (caddr pnt1) 2 3)  ))
  6.    (setq PTXT (getpoint    "\nPick text location: "))
  7.    (command "LEADER" PNT1 PTXT "" COORDN  COORDE  ELEZ "")
  8.    (princ)
  9. )

 
  1. ; even less
  2. (defun C:LP(/ )
  3.    (command "LEADER" (getpoint  "\nPick coordinate point: ")  (getpoint    "\nPick text location: ") ""
  4.    (strcat "E " (rtos (car pnt1) 2 3)  )
  5.    (strcat "N " (rtos (cadr pnt1) 2 3)  )
  6.    (strcat "EL " (rtos (caddr pnt1) 2 3)  ) "")
  7.    (princ)
  8. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:21:17 | 显示全部楼层
返回到dwg及其三维柱脚线等,您是在垂直坐标系后还是沿着柱脚线的三维点后。ObjectName(RO)=“AcDb3dPolyline”
 
我之前发布的内容不适用于3dpoly。
 
试试这个,只需要添加一个更好的defun和错误检查
  1. ; pline co-ords example
  2. ; By Alan H
  3. ; write z of vertices added
  4. (defun getcoords (ent)
  5. (vlax-safearray->list
  6.    (vlax-variant-value
  7.      (vlax-get-property
  8.    (setq obj (vlax-ename->vla-object ent))
  9.    "Coordinates"
  10.      )
  11.    )
  12. )
  13. )
  14. ; convert now to a list of xy as co-ords are x y x y x y if 3d x y z x y z
  15. (defun co-ords2xy ()
  16. (setq len (length co-ords))
  17. (if (= (vla-get-ObjectName obj) "AcDb3dPolyline")
  18. (progn
  19. (setq numb (/ len 3))
  20. (setq odd "yes")
  21. )
  22. (progn
  23. (setq numb (/ len 2)) ; even and odd check required
  24. (setq odd "no")
  25. )
  26. )
  27. (setq I 0)
  28. (setq co-ordsxy '())
  29. (repeat numb
  30. (cond
  31. ((= odd "yes") (setq xy (list (nth i co-ords)(nth (+ I 1) co-ords)(nth (+ I 2) co-ords) ))(setq I (+ I 3)))
  32. ((= odd "no" ) (setq xy (list (nth i co-ords)(nth (+ I 1) co-ords) ))(setq I (+ I 2)))
  33. )
  34. (setq co-ordsxy (cons xy co-ordsxy))
  35. )
  36. )
  37. ; program starts here
  38. (setq co-ords (getcoords (car (entsel "\nplease pick pline"))))
  39. (co-ords2xy) ; list of 2d or 3d points making pline
  40. ; list is co-ordsxy
  41. `
  42. (repeat (setq i(length co-ordsxy))
  43. (setq pt (nth  (setq i (- i 1)) co-ordsxy))
  44. (setq x (car pt) )
  45. (setq  y(cadr pt) )
  46. (if (= odd "yes")
  47. (setq z  (caddr pt))
  48. (setq z "-")
  49. )
  50. (command "-text" (list x y) "" "" (rtos z 2 3))
  51. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:04 , Processed in 1.641196 second(s), 61 queries .

© 2020-2025 乐筑天下

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