乐筑天下

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

[编程交流] 块插入点修改?

[复制链接]

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 10:38:46 | 显示全部楼层 |阅读模式
亲爱的朋友们:,
我需要一个lisp来更改块的插入点。帮助我。
在我的dwg中,有许多块,但一些块的插入点没有正确指定(在对象上或对象附近)。如果我选择其中一个块,插入点不可见(节点)。
所以我想通过两个步骤轻松地改变插入点。
选择块并指定插入点。不对整个图纸中使用的块的方向进行任何更改。
提前感谢。:)
当做
马尼
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:45:56 | 显示全部楼层
可以通过更改块定义来更改图形中每个块的块插入点。查看“原点”特性或块定义的DXF组10。
回复

使用道具 举报

0

主题

3

帖子

3

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 10:49:48 | 显示全部楼层
尝试
www

d-工具。欧盟
 
48号工具?!
回复

使用道具 举报

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 10:53:38 | 显示全部楼层
尊敬的李:,
对不起,我听不懂你的回答。我需要更新现有图形,那么如何帮助块定义窗口?
在我的画里有一个方块。
我正在使用这个宏,这是可行的,但每次执行我都给块名两次,所以我想避免块名输入?
帮助我。
我附上2个例子。。。。。。。
(在不更改块方向的情况下更改了插入点)
任何人都帮我
宏:
^任;b\姓名^C-插入;名称0,0;1.0;^Cz;o;l、 _爆炸L^C^Cm;p、 \
^C ^ C-块;名称1;@;p、 -插入名称1;@;1.0;
-块;名称y0,0;l、 ^Cssx;;b姓名^Cxplode;pg;e^Cz;p^任;b名称1\
^C-pu;b名称n^C
谢谢
当做
马尼
113850z6696tk9p649k6jf.jpg
113852s0lrk3w8ac3bexam.jpg
113853rqr0p7dddkwwpepe.jpg
113854ql4zg45yp6sxdenx.jpg
回复

使用道具 举报

VVA

1

主题

308

帖子

308

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-6 10:57:40 | 显示全部楼层
1.尝试使用\u bedit \u bsave和\u bclose命令
2.
在此处找到
  1. (defun selobj ()
  2. (if (not (vl-catch-all-error-p (vl-catch-all-apply
  3.      '(lambda () (vla-getEntity util 'obj nil "Select Block: ")))));not
  4. obj
  5. (progn (alert "Nothibg Selected. Try Again!") (selobj)))
  6. (if (/= (vla-get-ObjectName obj) "AcDbBlockReference")
  7.    (alert "This Is Not A Block! Try Again!") obj)
  8. );selobj
  9. ;
  10. (defun C:ChInsPt ( / adoc util bks bk prp)
  11. (setq adoc (vla-get-ActiveDocument (vlax-get-acad-object)))
  12. (mapcar '(lambda (x y) (set x (vlax-get-property adoc y))) '(util bks) '("Utility" "Blocks"))
  13. (vla-endundomark adoc) (vla-startundomark adoc)
  14. (vla-highlight (selobj) t)
  15. (setq prp (mapcar '(lambda (x) (vlax-get-property obj x))
  16.              '(InsertionPoint XScaleFactor YScaleFactor Rotation))
  17.        ip1 (vla-getPoint util nil "Select New Insertion Point")
  18.        rv (mapcar '(lambda (y) (apply y (mapcar '(lambda (x) (vlax-safearray->list (vlax-variant-value x)))
  19.                             (list (car prp) ip1)))) '(distance angle))
  20.        bk (vla-item bks (vla-get-name obj)));setq
  21. (vla-put-origin bk (vlax-3d-point (polar (vlax-get bk 'Origin)
  22.                                      (* (cadr rv) (/ (nth 1 prp) (nth 2 prp))) (- (car rv) (last prp)))))
  23. (vla-update obj)
  24. (vla-regen adoc acAllViewports)
  25. (vla-endundomark adoc)
  26. );end
回复

使用道具 举报

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:01:12 | 显示全部楼层
尊敬的VVA:,
感谢您的回复,但它没有给出正确的输出。但块对象的位置在执行后发生了变化。
见附件。
谢谢
当做
马尼
113855vtex6leb9foo264x.jpg
113857ttdnkkzn6gndbbgd.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:05:20 | 显示全部楼层
这看起来很有趣,所以我想试试看
 
代码执行与VVA发布的相同的操作,但使用不同的方法
 
回复

使用道具 举报

7

主题

37

帖子

30

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 11:09:54 | 显示全部楼层
尊敬的李:,
您的代码也和VVA发布的代码一样工作。
两者的输出相同。
否则,我需要一个lisp来给出输出块名,我选择了哪个块,有人帮我。。。。。。。。。。。。。。。。
谢谢大家
当做
马尼
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:12:24 | 显示全部楼层
更新了我的代码,以说明OCS不同于WCS的块。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:18:21 | 显示全部楼层
看这里Mani
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 17:04 , Processed in 0.376732 second(s), 74 queries .

© 2020-2025 乐筑天下

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