caoyin 发表于 2008-12-21 15:31:00

<p><br/>(setq ssi (ssget '((0 . "INSERT"))))<br/>(if ssi<br/>&nbsp; (if (&gt; (sslength ssi) 1)<br/>&nbsp;&nbsp;&nbsp; (princ (strcat "\n 选择的有" (itoa (- (sslength ssi) 1)) "个多余,程序将任选其一对象\n"))<br/>&nbsp; )<br/>)</p><p>(if (= (cdr (assoc 2 (setq edat (entget (setq e (ssname ssi 0)))))) "材料")<br/>&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp; (setq INS (cdr (assoc 10 edat)));;INS 返回的是什么?<br/>&nbsp;&nbsp;&nbsp; (command "_.move" e "" "_non" INS "_non" PT1)<br/>&nbsp; )<br/>)</p><p>出错信息是什么?</p>

userzhl 发表于 2008-12-21 15:36:00

返回的是INS的坐标点,但没有移动物体 e ,我是想把物体 e 移动到指定的点 PT1

nonsmall 发表于 2008-12-21 15:53:00

<p>块改插入点的方法是在2006以上才可以(bedit命令存在)</p><p>在之前版本的CAD中比较麻烦</p>

userzhl 发表于 2008-12-21 16:03:00

我不是要改变块的插入点,而是要移动图块。

nonsmall 发表于 2008-12-21 16:10:00

<p>方法1</p><p>(setvar "osmode" 0)</p><p>(command "move" (car(entsel)) "" (setq pt1(getpoint "原点"))(getpoint pt2&nbsp;"移动到"))</p><p>方法2</p><p>(vlax-put-property (vlax-ename-&gt;vla-object (car (entsel))) 'InsertionPoint (vlax-3d-point '(10 10)))</p><p>那个10 10就是新的坐标点根据插入点对<font style="BACKGROUND-COLOR: #ffff00;">块图元</font>进行移动</p>

nonsmall 发表于 2008-12-21 16:15:00

<p>方法3</p><p>(vlax-invoke-method (vlax-ename-&gt;vla-object (car (entsel))) 'Move (vlax-3d-point '(0 0)) (vlax-3d-point '(10 10)) )</p><p>0,0点移到10,10点(忽视捕捉)</p>

userzhl 发表于 2008-12-21 16:38:00

(setq ssi (ssget '((0 . "INSERT"))))<br/>(if ssi<br/>&nbsp; (if (&gt; (sslength ssi) 1)<br/>&nbsp;&nbsp;&nbsp; (princ (strcat "\n 选择的有" (itoa (- (sslength ssi) 1)) "个多余,程序将任选其一对象\n"))<br/>&nbsp; )<br/>)<p>(if (= (cdr (assoc 2 (setq edat (entget (setq e (ssname ssi 0)))))) "材料")<br/>&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp; (setq INS (cdr (assoc 10 edat)));;INS 返回的是什么?<br/>&nbsp;&nbsp;&nbsp; (command "_.move" e "" "_non" INS "_non" PT1)<br/>&nbsp; )<br/>)</p><p>其中的INS如何转换成:(vlax-3d-point '(0 0))?</p>

userzhl 发表于 2008-12-21 17:06:00

(setq ssi (ssget '((0 . "INSERT"))))<br/>(if ssi<br/>&nbsp; (if (&gt; (sslength ssi) 1)<br/>&nbsp;&nbsp;&nbsp; (princ (strcat "\n 选择的有" (itoa (- (sslength ssi) 1)) "个多余,程序将任选其一对象\n"))<br/>&nbsp; )<br/>)<p>(if (= (cdr (assoc 2 (setq edat (entget (setq e (ssname ssi 0)))))) "材料")<br/>&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp; (setq INS (cdr (assoc 10 edat)))</p><p>&nbsp;&nbsp;&nbsp; (command "move" (entget e) "" INS 0,0);<font color="#ff0000">这一句为何不行呢?</font><br/>&nbsp; )<br/>)</p>

nonsmall 发表于 2008-12-21 17:30:00

(command "move" (car(entsel)) "" "0,0" "10,10");键盘输入方式模拟

userzhl 发表于 2008-12-21 20:27:00

(91.121 53.8256 0.0)如何转换成:"91.121,53.8256"呢?
页: 1 [2] 3
查看完整版本: [求助]求助高手,图块的插入点的组码是多少?如何能快速在选择集中获取?