本帖最后由 lincctw_ccl 于 2010-12-24 20:51 编辑
各位好!! 小弟因须要写了一个文字移动的小东西~是要让某些想要的文字移到固定的表格内,现在遇到一些问题,因小弟程度有限写不下去了!!请版上高手帮忙完成一下 现在遇到状况!! 可以复制文字到所想要的位置去了,但再重复移动第二组文字时,还是迭在第一组的文字上,我所想要的功能是
依所定的基准点是在我所指定的位置上,但当再接下去 copy第二组文字时,复制点是以原先所设定的基准点相隔列高6去copy文字 copy第二组文字时,复制点是以原先所设定的基准点相隔列高
6*2=12去写出文字 上面写的有点复杂,不知各位可否看的懂?我附上我要的表格图文件,内附我所希望的结果
谢谢!!!
(defun c:AAA (/ pa pb) (setvar "osmode" 0);;;指令行不响应 (setvar "blipmode" 0);;标记点开关 (setvar "OrthoMode" 0);;正交模式关 (setvar "cmdecho" 0) ;;定义位移值-------------------------------------- (setq pa (getpoint "\n文字写入的基准点:")) (if (= La nil) (setq La 20)) (princ "\n名称
文字
的
距离
<")(princLa)(setq answer1(getstring ">: ")) (if (/= (atof answer1) 0.00)(setq La(atof answer1))) (if (= Lb nil) (setq Lb 20)) (princ "\n数量
文字
的
距离
<")(princLb)(setq answer1(getstring ">: ")) (if (/= (atof answer1) 0.00)(setq Lb(atof answer1))) (if (= LC nil) (setq LC 52)) (princ "\n相隔列高
<")(princ Lc)(setq answer1(getstring">: ")) (if (/= (atof answer1) 0.00)(setq Lc(atof answer1))) ;;定义位移值--------------------------------------
(while (setq ena (entsel "\n 选择 件号:")) (setq enb (entsel "\n 选择 名称:")) (setq enc (entsel "\n 选择 数量:")) ;;件号 文字的插入点-------------------------------------- (setq ena10(assoc 10 (entget(car ena))));;取得文字群码10(左下角之插入点) (setq ena_pt(cdr ena10));;取出插入点的坐标 ;;名称 文字的插入点-------------------------------------- (setq enb10(assoc 10 (entget(car enb))));;取得文字群码10(左下角之插入点) (setq enb_pt(cdr enb10));;取出插入点的坐标 ;;数量 文字的插入点-------------------------------------- (setq enc10(assoc 10 (entget(car enc))));;取得文字群码10(左下角之插入点) (setq enc_pt(cdr enc10));;取出插入点的坐标 ;;求名称文字的插入点-------------------------------------- (setq pb(polar pa 0 La)) (setq pc(polar pa 0 Lb)) ;;copy文字-------------------------------------- (command ".copy" ena "" ena_pt pa) (command ".copy" enb "" enb_pt pb) (command ".copy" enc "" enc_pt pc) ) (princ)) |