明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: Cad2077

坐标自动编号并写入表格

[复制链接]
发表于 2024-11-21 08:57:31 | 显示全部楼层

感谢大神分享
回复 支持 反对

使用道具 举报

发表于 2025-2-5 22:25:52 | 显示全部楼层
用了一段时间不能用了,很可惜,还是感谢楼主,解决很多实际工作问题
回复 支持 反对

使用道具 举报

发表于 2025-2-10 10:53:21 | 显示全部楼层
感谢作者的无私分享....
回复 支持 反对

使用道具 举报

发表于 2025-2-25 15:21:19 | 显示全部楼层
真不好意思!这还收费?我有更好的谁要吱一声
回复 支持 反对

使用道具 举报

发表于 2025-2-26 16:34:55 | 显示全部楼层
感谢分享插件
回复 支持 反对

使用道具 举报

发表于 2025-2-26 18:59:52 | 显示全部楼层
******** c:zb ********
功能:逐点标注并汇总到表格。用户选择点并标注,程序生成表格汇总点的坐标信息。
(defun c:zb (/ pt tHt prefix pt_list i table_pt table_height table_width row_count vlaTab vlaTxt vlaCell)
  (vl-load-com)
  (setq pt_list '())
  (setq i 0)
  (setq pt (getpoint "\n选择第一个点:"))
  (setq tHt (getreal "\n请输入文字高度 (默认值为2.5): "))
  (if (not tHt) (setq tHt 2.5))
  (setq prefix (getstring T "\n请输入点号前缀(可选): "))
  (if (not prefix) (setq prefix ""))

  (while pt
    (setq i (1+ i))
    (command "text" pt tHt 0 (strcat prefix (itoa i)))
    (setq pt_list (cons pt pt_list))
    (setq pt (getpoint "\n选择下一个点,或按回车结束:"))
  )

  (if (null pt_list)
    (progn
      (princ "\n未选择任何点,操作已取消。")
      (exit)
    )
  )

  (setq table_pt (getpoint "\n指定表格绘制位置:"))
  (setq table_height (* tHt 1.5))
  (setq table_width 36)
  (setq row_count (length pt_list))

  (setq actDoc (vla-get-ActiveDocument (vlax-get-acad-object)))
  (setq mSp (vla-get-ModelSpace actDoc))
  (setq vlaTab (vla-AddTable mSp (vlax-3D-point table_pt) (+ row_count 1) 3 table_height table_width))

  (vla-SetText vlaTab 0 0 "点号")
  (vla-SetText vlaTab 0 1 "X")
  (vla-SetText vlaTab 0 2 "Y")

  (setq i 0)
  (foreach pt (reverse pt_list)
    (setq i (1+ i))
    (vla-SetText vlaTab i 0 (strcat prefix (itoa i)))
    (vla-SetText vlaTab i 1 (rtos (cadr pt) 2 3))
    (vla-SetText vlaTab i 2 (rtos (car pt) 2 3))
    (vla-SetCellTextHeight vlaTab i 0 tHt)
    (vla-SetCellTextHeight vlaTab i 1 tHt)
    (vla-SetCellTextHeight vlaTab i 2 tHt)
    (vla-SetCellAlignment vlaTab i 0 acMiddleCenter)
    (vla-SetCellAlignment vlaTab i 1 acMiddleCenter)
    (vla-SetCellAlignment vlaTab i 2 acMiddleCenter)
  )

  (vla-put-VertCellMargin vlaTab (* 0.35 tHt))
  (vla-put-Height vlaTab (* 1.2 row_count))
  (vla-SetColumnWidth vlaTab 0 (* 5 tHt))
  (vla-SetColumnWidth vlaTab 1 (* 10 tHt))
  (vla-SetColumnWidth vlaTab 2 (* 10 tHt))

  (princ "\n标注完成。")
  (princ)
)

(princ "\nzb命令已加载。输入 zb 开始逐点标注并汇总到表格。")
(princ)
回复 支持 反对

使用道具 举报

发表于 2025-2-26 21:32:48 | 显示全部楼层
香远益清 发表于 2025-2-25 15:21
真不好意思!这还收费?我有更好的谁要吱一声

来一个学习一下
回复 支持 反对

使用道具 举报

发表于 2025-2-26 22:12:45 | 显示全部楼层
香远益清 发表于 2025-2-25 15:21
真不好意思!这还收费?我有更好的谁要吱一声

“吱”~~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2025-3-13 14:42:44 | 显示全部楼层
不能用不能用不能用不能用不能用
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-3-31 11:55 , Processed in 0.170718 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表