乐筑天下

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

[编程交流] lisp for sync属性手册

[复制链接]
CAD

10

主题

57

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 06:38:28 | 显示全部楼层 |阅读模式
谁知道lisp可以手动同步文本属性。
 
例如,我附上了一张图纸。
 
我要使用命令:ats
1.属性的第一个lisp ask源
2.SecondSelect属性的目标
 
ATTSYNC该选项不适用于我,因为我不希望所有属性都相同,而只希望选择一个。
块图纸
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 06:45:53 | 显示全部楼层
欢迎来到论坛。
 
需要更多细节,因为你的描述还不够——至少对我来说是这样
回复

使用道具 举报

CAD

10

主题

57

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 06:52:23 | 显示全部楼层
你好:D,
在附件中,您可以看到有一个属性调用源,
我想要与属性同步的源属性,我手动选择。因此,文本位置与源位置相等。
属性我不选择不改变。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:00:03 | 显示全部楼层
 
这是关于块插入点的吗?或者它在图纸上的当前位置?
 
从样例图形上的外观来看,不仅属性是对齐的,而且块的“插入”点也是对齐的,但仅针对一些?
回复

使用道具 举报

CAD

10

主题

57

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 07:00:46 | 显示全部楼层
属性的所有标记与源位置相同。插入点每次都可能不同。我已附上另一张图纸。
块3。图纸
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:09:02 | 显示全部楼层
 
好的,听起来很简单。。坚持住。。。。
 
我得到了它。但是首先,为了好玩,给我一个答案:
 
当与另一个整数相乘时,所得乘积可以相加[单个,即123=6]
将结果转换为原始的一位数?
 
然后我会发布代码。。。
回复

使用道具 举报

CAD

10

主题

57

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 07:14:31 | 显示全部楼层
我真的不明白,我真的不聪明哈哈。你的意思是什么数字示例123=6和12345=10
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:20:53 | 显示全部楼层
9 ........
回复

使用道具 举报

CAD

10

主题

57

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
52
发表于 2022-7-6 07:22:48 | 显示全部楼层
你怎么知道是9?李·麦克。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 07:29:57 | 显示全部楼层
 
 
 
试试看,用9乘以任意整数。。
 
  1. (defun c:AArr (/ _Positions source atts ref pts ptref refang en i)
  2. ;;                pBe30Apr2013                ;;
  3. (vl-load-com)
  4. (defun _Positions (e lst p ang / lst v vals)
  5.    (mapcar (function
  6.              (lambda (at)
  7.                (setq
  8.                  vals (list (vla-get-tagstring at) (vlax-get at 'Insertionpoint))
  9.                )
  10.                (if (and lst (setq v (assoc (car vals) lst)))
  11.                  (vlax-invoke
  12.                    at
  13.                    'Move
  14.                    (Cadr vals)
  15.                    (polar p (+ (cadr v) ang) (caddr v))
  16.                  )
  17.                  vals
  18.                )
  19.              )
  20.            )
  21.            (vlax-invoke
  22.              (if (eq (type e) 'ENAME)
  23.                (vlax-ename->vla-object e)
  24.                e
  25.              )
  26.              'GetAttributes
  27.            )
  28.    )
  29. )
  30. (if (and (princ "\nSelect Attribute Block for Reference: ")
  31.           (setq source (ssget "_:S" '((0 . "INSERT") (66 . 1))))
  32.           (princ "\nSelect Blocks to process:")
  33.           (setq atts
  34.                  (ssget
  35.                    "_:L"
  36.                    (list
  37.                      '(0 . "INSERT")
  38.                      '(66 . 1)
  39.                      (cons 2
  40.                            (cdr (assoc 2 (entget (setq source (ssname source 0)))))
  41.                      )
  42.                    )
  43.                  )
  44.           )
  45.      )
  46.    (progn
  47.      (setq ref    (vlax-get (setq source (vlax-ename->vla-object source))
  48.                             'Insertionpoint
  49.                   )
  50.            refang (vla-get-rotation source)
  51.      )
  52.      (setq pts (_Positions source nil nil nil))
  53.      (setq ptref (mapcar '(lambda (p_)
  54.                             (list (car p_)
  55.                                   (angle ref (cadr p_))
  56.                                   (distance (cadr p_) ref)
  57.                             )
  58.                           )
  59.                          pts
  60.                  )
  61.      )
  62.      (repeat (setq i (sslength atts))
  63.        (setq en (vlax-ename->vla-object (ssname atts (setq i (1- i)))))
  64.        (_Positions
  65.          en
  66.          ptref
  67.          (vlax-get en 'Insertionpoint)
  68.          (- (vlax-get en 'Rotation) refang)
  69.        )
  70.      )
  71.    )
  72. )
  73. (princ)
  74. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 15:50 , Processed in 0.470906 second(s), 72 queries .

© 2020-2025 乐筑天下

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