乐筑天下

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

[编程交流] 具有属性的块需要hel

[复制链接]

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:25:41 | 显示全部楼层 |阅读模式
这是一个带有字段的块(poliline length),我用这个块来加固,我想做一件事,但我不知道怎么做:有时这个块是分解的,所以我想在双击块长度时,只需单击它就可以得到poliline length。这是真的,还是幻想?
如果有人有其他想法,或其他更好的阻止张贴请。
需要帮助。图纸
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:35:04 | 显示全部楼层
欢迎来到CADTutor。
 
您想只需单击属性块一次,就可以获得长度标记中表示的长度值?那之后该怎么办?
 
需要更多细节。
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:43:28 | 显示全部楼层
我想用最简单的方法来计算poliline的长度,但是,为了不打破障碍,这听起来有点奇怪,但是,只是问一下是否可能
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:44:56 | 显示全部楼层
拾取属性本身。
 
  1. (defun c:Test (/ s)
  2. (and (setq s (car (nentsel "\n pick on Attribute :")))
  3.       (member '(0 . "ATTRIB") (entget s))
  4.       (princ (strcat "\n The attribute value : < " (cdr (assoc 1 (entget s))) " > " ))
  5. )
  6. (princ)
  7. )
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 20:50:33 | 显示全部楼层
我不是黑客,但我觉得这里的lisp帮不上忙,只有用VBA,如果我没有错?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 20:59:47 | 显示全部楼层
 
如果你这么认为,为什么要在AutoLISP论坛上发帖?
 
这应该是你的目的地
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 21:02:39 | 显示全部楼层
因为我仍然不知道Lisp程序的真正力量。。。
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 21:10:01 | 显示全部楼层
很抱歉,Tharwat,可能你不理解我的问题,例如,在我的旁边画一条新的poliline,所以我想把这个新poliline的长度分配给我的块
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 21:17:05 | 显示全部楼层
 

 
  1. (defun c:Test (/ *error* z o s _doc gc:GetObjectIdString)
  2. ;;;        Tharwat 05.01.2014        ;;;
  3. (defun *error* (msg)
  4.    (if z
  5.      (setvar 'DIMZIN z)
  6.    )
  7.    (if (wcmatch (strcase msg) "*CANCEL*,*EXIT*,*BREAK*")
  8.      (princ (strcat "Error :" msg " ..."))
  9.    )
  10. )
  11. (defun gc:GetObjectIdString (obj) ;;; By Gile
  12.    (or *util* (setq *util* (vla-get-Utility _doc)))
  13.    (if (vlax-method-applicable-p *util* 'GetObjectIdString)
  14.      (vla-GetObjectIdString *util* obj :vlax-false)
  15.      (itoa (vla-get-ObjectId obj))
  16.    )
  17. )
  18. (setq z (getvar 'DIMZIN))
  19. (setvar 'DIMZIN 0)
  20. (vla-startUndomark
  21.    (setq _doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  22. )
  23. (princ "\n Pick a Polyline/Line/Spline ")
  24. (and
  25.    (setq o (ssget "_+.:S:E" '((0 . "*POLYLINE,LINE"))))
  26.    (setq s (car (nentsel "\n pick on Attribute :")))
  27.    (member '(0 . "ATTRIB") (entget s))
  28.    (entmod
  29.      (subst
  30.        (cons
  31.          1
  32.          (strcat
  33.            "%<\\AcObjProp Object(%<\\_ObjId "
  34.            (gc:GetObjectIdString (vlax-ename->vla-object (ssname o 0)))
  35.            ">%).Length \\f "%lu2">%"
  36.          )
  37.        )
  38.        (assoc 1 (entget s))
  39.        (entget s)
  40.      )
  41.    )
  42. )
  43. (vla-regen _doc acallviewports)
  44. (vla-Endundomark _doc)
  45. (*error* nil)
  46. (princ)
  47. )(vl-load-com)
回复

使用道具 举报

25

主题

106

帖子

85

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
121
发表于 2022-7-5 21:21:22 | 显示全部楼层
谢谢塔瓦的回复,非常感谢!!
在我的国家,10分是学校最好的分数,所以你今天应该得到10分。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 09:20 , Processed in 0.410605 second(s), 72 queries .

© 2020-2025 乐筑天下

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