开心无惧 发表于 2024-9-2 08:56:19

不同基点的 同名块复制

本帖最后由 开心无惧 于 2024-9-2 19:06 编辑

请教大家

两个图纸间 不同基点的同名块复制时(带基点复制和ctrl+v)
目前是块和其它图形一起复制,粘贴时因为自动改基点,
块会移动位置,和其它图形相对位置改变了,有的块基点非常远、粘贴后块不见了
再移动回原来的位置比较麻烦。

如果图纸中有多个这种图块时,有什么好方法可以避免这个情况发生呢?
希望粘贴后 块和其它图形相对位置保持不变

这个思路是否可行?
01.先在A图纸中检查每个块定义基点,在不在块定义包围盒的周围内,
如果不在,弹出提示;
02.修改弹出提示的这些块基点,统一修改成矩形包围盒的左上角点;
03.A图纸带基点复制选中部分或全部图纸,在B图纸粘贴时,弹出提示哪些同名块基点不同;
04.B图纸中重复02步骤的代码,可以将B图纸同名块的基点改成和A图纸一样;
然后 相同基点的同名块就可以正常复制粘贴了,不同担心和其他图形线条的相对位置变化,
如果A和B图纸同名块内容有变化,之后用设计中心处理;

最新需求
1.粘贴时先检查同名块基点是否相同,如果不相同,列表展示(当前有一个统计块的代码);
2.批量修改检查出来的不同基点同名块的基点为最小外包围矩形的左上角;
目标是可以正常复制粘贴,不用担心块位置会跑;







开心无惧 发表于 2024-9-2 12:10:02

本帖最后由 开心无惧 于 2024-9-2 12:26 编辑

liuhe 发表于 2024-9-2 11:26
修改块定义才是王道,检查每个块定义基点,在不在块定义包围盒的周围,修改块定义,同步修改已经插入 的块 ...
这个思路是否可行?
01.先在A图纸中检查每个块定义基点,在不在块定义包围盒的周围内,
如果不在,弹出提示;
02.修改弹出提示的这些块基点,统一修改成矩形包围盒的左上角点;
03.A图纸带基点复制选中部分或全部图纸,在B图纸粘贴时,弹出提示哪些同名块基点不同;
04.B图纸中重复02步骤的代码,可以将B图纸同名块的基点改成和A图纸一样;
然后 相同基点的同名块就可以正常复制粘贴了,不同担心和其他图形线条的相对位置变化;

kozmosovia 发表于 2024-9-2 10:44:13

开心无惧 发表于 2024-9-2 09:37
那想粘贴时提示哪些同名块基点不同,然后根据这些块名称把基点修改一致

逻辑都没有搞清楚,如果已经在剪贴板的数据中有图块在本图中有,会直接用本图定义,至于两个图块定义插入点不同需要检测,你得拦截黏贴命令,然后根据情况更新修改剪贴板数据,再继续使用新的剪切板数据执行黏贴命令。这流程,不是lsp能做的

weimeng555 发表于 2024-9-2 12:46:04

这种情况,还是要先改基点,然后在插入了,如果有很多的块,且基点均有不同个,这个基本没办法处理了,除非对象是规则图形,比如圆,则可以按图形中线点为基准点,但是如果对象第多个对象的话,可能各种情况都有,所以还是手动改块基点(插入点)

kozmosovia 发表于 2024-9-2 09:15:39

单独的块可以用设计中心插入图块并选择是否覆盖同名定义。
要是混合其他图元一起复制,基本就不要想了。编程的逻辑会很复杂,还要控制Ctrl+V

嘒彼小星 发表于 2024-9-2 09:16:02

同名块基点位置一致就好了,应该有很多插件有改基点位置不变的,先改一致再复制粘贴

开心无惧 发表于 2024-9-2 09:27:05

本帖最后由 开心无惧 于 2024-9-2 09:30 编辑

嘒彼小星 发表于 2024-9-2 09:16
同名块基点位置一致就好了,应该有很多插件有改基点位置不变的,先改一致再复制粘贴
画图时会发现某个块的基点非常远 看不见,会随手重新设置一个新基点,
但粘贴到其它图纸时才发现有同名块

开心无惧 发表于 2024-9-2 09:37:06

kozmosovia 发表于 2024-9-2 09:15
单独的块可以用设计中心插入图块并选择是否覆盖同名定义。
要是混合其他图元一起复制,基本就不要想了。编 ...
那想粘贴时提示哪些同名块基点不同,然后根据这些块名称把基点修改一致

dcl1214 发表于 2024-9-2 10:10:37

块名用*命名,就是给你复制粘贴

liuhe 发表于 2024-9-2 11:26:33

修改块定义才是王道,检查每个块定义基点,在不在块定义包围盒的周围,修改块定义,同步修改已经插入 的块,其他方式都过于复杂

开心无惧 发表于 2024-9-2 12:11:10

kozmosovia 发表于 2024-9-2 10:44
逻辑都没有搞清楚,如果已经在剪贴板的数据中有图块在本图中有,会直接用本图定义,至于两个图块定义插入 ...

感谢 我再想想思路
页: [1] 2
查看完整版本: 不同基点的 同名块复制