乐筑天下

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

[编程交流] 带面积字段的多边形

[复制链接]

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 18:22:06 | 显示全部楼层 |阅读模式
大家好,
我正在寻找一个lisp例程,它创建边界样条线并插入引用该样条线的面积字段。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 18:39:45 | 显示全部楼层
玩一玩这个节目,让我知道。
 
  1. (defun c:test (/ doc e o u spc reg obj mt p)
  2. ;;    Tharwat 19.11.2015    ;;;
  3. (setq e (entlast))
  4. (if (and (vl-cmdf "_.-boundary" "\" "\")
  5.           (setq o (entlast))
  6.           (not (eq e o))
  7.           (eq (cdr (assoc 0 (entget o))) "LWPOLYLINE")
  8.      )
  9.    (progn
  10.      (setq doc (vla-get-activedocument (vlax-get-acad-object))
  11.            spc (vla-get-block
  12.                  (vla-item (vla-get-layouts doc) (getvar 'ctab))
  13.                )
  14.            reg (vlax-invoke
  15.                  spc
  16.                  'addregion
  17.                  (list (setq obj (vlax-ename->vla-object o)))
  18.                )
  19.      )
  20.      (if (setq
  21.            p  (vlax-3d-point
  22.                 (append (vlax-get (car reg) 'centroid) (list 0.))
  23.               )
  24.            mt (vla-addmtext
  25.                 spc
  26.                 p
  27.                 0.0
  28.                 (strcat
  29.                   "%<\\AcObjProp Object(%<\\_ObjId "
  30.                   (if (vlax-method-applicable-p
  31.                         (setq
  32.                           u (vla-get-utility
  33.                               doc
  34.                             )
  35.                         )
  36.                         'getobjectidstring
  37.                       )
  38.                     (vla-getobjectidstring u obj :vlax-false)
  39.                     (itoa (vla-get-objectid obj))
  40.                   )
  41.                   ">%).Area \\f "%lu6%qf1">%"
  42.                 )
  43.               )
  44.          )
  45.        (progn
  46.          (vla-put-attachmentpoint mt acmiddlecenter)
  47.          (vla-move mt (vla-get-insertionpoint mt) p)
  48.        )
  49.      )
  50.      (vla-delete (car reg))
  51.    )
  52. )
  53. (princ)
  54. )
  55. (vl-load-com)
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 18:57:45 | 显示全部楼层
工作完美!
只是一个小小的请求:你能将字段的对齐设置为“中间居中”吗?
非常感谢。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 19:02:08 | 显示全部楼层
不客气。
 
当然有可能,以上代码已更新。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 19:13:47 | 显示全部楼层
再次感谢你,我觉得这个lisp非常有用!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-5 19:25:33 | 显示全部楼层
不客气,我刚刚加入了我的工具箱。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:57 , Processed in 0.512554 second(s), 64 queries .

© 2020-2025 乐筑天下

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