[求助]如何改变一个已插入图形中块的插入点,而不改变该块中图元的位置?
如何改变一个已插入图形中块的插入点,而不改变该块中图元的位置?改变后如下图所示:
本帖最后由 lee50310 于 2021-12-1 20:55 编辑
再见熊猫衣服 发表于 2021-11-18 10:35
发现一个新问题,浩辰CAD使用的时候,基点会飘移走。漂移的位置不确定,有时候再左上方,有时候再右上方, ...
請使用 Lee Mac網路程式 即可
<<< 更改塊基點 ChangeBlockBasePointV1-5.lsp >>>
載入程式後執行指令有 2 個
指令:CBP ----->>保留插入點位置(改變插入點位置跟著改變)
指令:CBPR ----->>保留塊參考位置 (改變插入點位置不跟著改變)
改變插入點若塊的位置不跟著改變 指令請使用 CBPR
alin大侠,成功载入amend_block.LSP和JonFleming.lsp后,输入命令:ab,选择块的时候报错误。请问如何解决?
命令: ab
本程序修改图块定义的插入基点,图名或描述...
选择要修改的图块实例: ; 错误: no function definition: VLAX-ENAME->VLA-OBJECT
我的CAD版本是2008的。 块的参照原点是固定的,只能通过修改块中实体的位置,达到改变块插入的形式。这时看起来仿佛是插入点改变了,但其实是块中的实体位置改变了。 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3>說明白點就是很難<FONT face="Times New Roman">!!</FONT></FONT> 龙兄,别吓唬人嘛,:)
是难,不过还不是很难,但是有点难 试一试把插入点的改变量,反加在块的基点上, 多谢各位了,我试试用其他方法了。 (if (> (distance ins_pt new_ins_pt) 0.00001)<BR> (progn<BR> (setq ss nil)<BR> (command "explode" en "")<BR> (setq ss (ssget "P"))<BR> (command "-block" blkname "y" new_ins_pt ss "")<BR> (command "-insert" blkname new_ins_pt "" "" "")<BR> ) )
Or you can use this:
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">ALIN:
<SPAN lang=ZH-CN style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=ZH-CN style="COLOR: black; FONT-FAMILY: SimSun; mso-fareast-language: ZH-CN">这类操作还要考滤选点图块当时的比例(x.y.z),旋转,镜射(mirror), 嵌套图块的情况,图块在N个图纸空间……<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3>能再考滤属性就更好!<SPAN style="mso-spacerun: yes"> 8-) <o:p></o:p></SPAN></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p><FONT size=3> </FONT></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p><FONT size=3> </FONT></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3>哗!好鬼死麻烦!!(到现在都没空想它__更不敢想嵌套(N层)图块的情况)<o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3>你很好!快点想想办法,这样的功能我也等很久!<o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p><FONT face="Times New Roman" size=3> </FONT></o:p>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"></SPAN> 下面修改后的程序似乎解决了等比例缩放,旋转和镜像等问题。注意我是指二维平面的情况下。至于三维的,nested blocks 或属性等问题,算了吧。。。
龙龙仔,想这么复杂干吗?
重定义前做个boundingbox,重定义后再做个boundingbox,根据两个boundingbox的相对位移进行移动。。。
:)对定义点进行3d重定义怎么办?:)