乐筑天下

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

[编程交流] 按选择点列出坐标

[复制链接]

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 14:43:04 | 显示全部楼层 |阅读模式
大家好:D,我想知道有谁知道如何创建lisp,它可以列出点组的坐标(不是逐点拾取),并创建N和E的单独层,文本粘贴在点位置上,如果它可以创建编号也将非常有用。
我需要这个lisp,因为我总是需要为很多点(超过50点)创建坐标。
 
我是第一次在这个论坛发帖,如果有什么问题,请原谅我,
这里真是一个学习的好地方。
谢谢大家。
样品图纸
回复

使用道具 举报

1

主题

64

帖子

69

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-6 14:49:09 | 显示全部楼层
是的,杰森,
 
这是可以做到的,相对容易。所以不要恐慌。很快就会有很多Lisp程序的专家为你指出正确的方向。待命吧。如果你一夜之间没有反应,就喊我,我相信我能让这些大师为你跑开大声笑:
回复

使用道具 举报

1

主题

316

帖子

311

银币

初来乍到

Rank: 1

铜币
29
发表于 2022-7-6 14:52:36 | 显示全部楼层
这可以作为一个开始:
 
 
  1. (defun c:test (/ mysset counter)
  2. (setq mysset (ssget))
  3. (setq counter 0)
  4. (setq sch 0.5)
  5. (while (< counter (sslength mysset))
  6.    (setq p1 (cdr (assoc 10 (entget (ssname mysset counter)))))
  7.    (setq ytxt (strcat "N" (rtos (cadr p1) 2 3)))
  8.    (setq xtxt (strcat "E" (rtos (car p1) 2 3)))  
  9.    (command "text" p1 (* sch 2.5) "0" xtxt)
  10.    (command "text" "" ytxt)
  11.    (command "text" "" (itoa (1+ counter)))
  12.    (setq counter (+ counter 1))
  13. ) ;_ end of while
  14. (princ)
  15. )
回复

使用道具 举报

8

主题

1133

帖子

1164

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 14:55:11 | 显示全部楼层
我不知道你来自世界的哪个地方,但在英国,坐标的顺序通常是先东后北
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 14:57:12 | 显示全部楼层
非常感谢各位大师,
特别是对威兹曼!你们真的很棒!
但有没有可能坐标和编号都在一个层中-东、北和Num
如果你做不到,那就永远不要伤害我,因为你所做的真的帮了我很多。
来自马来西亚的Eldon im:哎呀,对不起,我弄糊涂了
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 14:59:21 | 显示全部楼层
另一件事是文字高度已经固定,希望它可以根据我们需要的绘图比例灵活
回复

使用道具 举报

1

主题

64

帖子

69

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-6 15:04:47 | 显示全部楼层
Jason,看起来文字高度是基于您在图形中设置的尺寸比例。
回复

使用道具 举报

5

主题

49

帖子

44

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 15:07:39 | 显示全部楼层
艾伦,我已经改变了模糊的比例,但似乎没有效果。
回复

使用道具 举报

1

主题

64

帖子

69

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-6 15:11:17 | 显示全部楼层
伙计,如果你能等到我今晚回家,我会用Lisp程序玩一玩,然后给你修改,我现在在这里工作很忙。
 
我认为wizman假设您的dimscale设置为0.5。
回复

使用道具 举报

1

主题

316

帖子

311

银币

初来乍到

Rank: 1

铜币
29
发表于 2022-7-6 15:11:58 | 显示全部楼层
  1. (defun c:test (/ mysset counter laylist p1 sch  xtxt ytxt)
  2. (setq laylist (list "NORTH" "EAST" "NUM"))
  3. (foreach x laylist
  4.    (if    (tblsearch "Layer" x)
  5.      (command "._layer" "_thaw" x "_on" x "_unlock" x "_set" x    "") ;_ closes command
  6.      (command "._layer" "_make" x "_color" "7" x "") ;_ closes command
  7.    )
  8. )
  9. (prompt "SELECT POINTS JASON: ")
  10. (setq mysset (ssget '((0 . "POINT"))))
  11. (setq counter 0)
  12. (if (null sch)
  13.    (setq sch 1.0)
  14. )
  15. (initget 6)
  16. (setq temp (getreal (strcat "\nENTER SCALE <" (rtos sch 2 2) ">: ")))
  17. (if temp
  18.    (setq sch temp)
  19.    (setq temp sch)
  20. )
  21. (while (< counter (sslength mysset))
  22.    (setq p1 (cdr (assoc 10 (entget (ssname mysset counter)))))
  23.    (setq xtxt (strcat "E" (rtos (car p1) 2 3)))
  24.    (setq ytxt (strcat "N" (rtos (cadr p1) 2 3)))
  25.    (command "text" p1 (* sch 2.5) "0" xtxt)
  26.    (command "_change" (entlast) "" "p" "la" "EAST" "")
  27.    (command "text" "" ytxt)
  28.    (command "_change" (entlast) "" "p" "la" "NORTH" "")
  29.    (command "text" "" (itoa (1+ counter)))
  30.    (command "_change" (entlast) "" "p" "la" "NUM" "")
  31.    (setq counter (+ counter 1))
  32. ) ;_ end of while
  33. (princ)
  34. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 00:22 , Processed in 0.583752 second(s), 72 queries .

© 2020-2025 乐筑天下

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