caoyin 发表于 2008-12-21 15:31:00
<p><br/>(setq ssi (ssget '((0 . "INSERT"))))<br/>(if ssi<br/> (if (> (sslength ssi) 1)<br/> (princ (strcat "\n 选择的有" (itoa (- (sslength ssi) 1)) "个多余,程序将任选其一对象\n"))<br/> )<br/>)</p><p>(if (= (cdr (assoc 2 (setq edat (entget (setq e (ssname ssi 0)))))) "材料")<br/> (progn<br/> (setq INS (cdr (assoc 10 edat)));;INS 返回的是什么?<br/> (command "_.move" e "" "_non" INS "_non" PT1)<br/> )<br/>)</p><p>出错信息是什么?</p>userzhl 发表于 2008-12-21 15:36:00
返回的是INS的坐标点,但没有移动物体 e ,我是想把物体 e 移动到指定的点 PT1nonsmall 发表于 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 "移动到"))</p><p>方法2</p><p>(vlax-put-property (vlax-ename->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->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/> (if (> (sslength ssi) 1)<br/> (princ (strcat "\n 选择的有" (itoa (- (sslength ssi) 1)) "个多余,程序将任选其一对象\n"))<br/> )<br/>)<p>(if (= (cdr (assoc 2 (setq edat (entget (setq e (ssname ssi 0)))))) "材料")<br/> (progn<br/> (setq INS (cdr (assoc 10 edat)));;INS 返回的是什么?<br/> (command "_.move" e "" "_non" INS "_non" PT1)<br/> )<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/> (if (> (sslength ssi) 1)<br/> (princ (strcat "\n 选择的有" (itoa (- (sslength ssi) 1)) "个多余,程序将任选其一对象\n"))<br/> )<br/>)<p>(if (= (cdr (assoc 2 (setq edat (entget (setq e (ssname ssi 0)))))) "材料")<br/> (progn<br/> (setq INS (cdr (assoc 10 edat)))</p><p> (command "move" (entget e) "" INS 0,0);<font color="#ff0000">这一句为何不行呢?</font><br/> )<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"呢?