明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1906|回复: 8

层复制有点问题,烦请各位高手帮忙修改并问题所在,谢谢! 我的邮箱:xiongdc@163.com

[复制链接]
发表于 2006-4-23 08:54:00 | 显示全部楼层 |阅读模式
层复制有点问题,烦请各位高手帮忙修改并问题所在,谢谢! 我的邮箱:xiongdc@163.com

(DEFUN C:CF()(SETQ SS(SSGET))
             (if(= ss nil)
             (progn (prompt "\n---*error*选取对象---")
             (setq ss (ssget))))
             (setq s(getint"\n请输入复制方式1)输入层名: (2)选择该层物体: "))
             (if (= S 2 )(progn (while
             (setq LAY (entsel "\n选择该层物体 "))
             (setq LAY (cdr (assoc 8 (entget (car LAY)))))
             (if ( = lay nil)(progn(SETQ LAY(getstring "\n---*error*再一次输入---"))))
             (princ)(COMMAND"COPY" SS "" "0,0"  "0,0" )
             (COMMAND "CHPROP" SS  "" "LA" lay "" "" "")))
             (princ))(if (or(= S 1 ) (= s nil))
             (progn(while(SETQ LAY(GETSTRING"\n层名:_______"))
             (COMMAND"COPY" SS "" "0,0"  "0,0" )
             (COMMAND "CHPROP" SS  "" "LA" lay "" "" ""))))
             (if ( = lay nil)(progn(SETQ LAY(getstring "\n---*error*再一次输入---"))))
             (princ)(command "ucs" "v")
             (command "undo" "end")(PRINC))

发表于 2006-4-23 09:38:00 | 显示全部楼层
(DEFUN C:CF ()
  (cond
   ((not (SETQ SS (SSGET))))
   (T
    (setq s (getint "\n请输入复制方式1)输入层名: (2)选择该层物体: "))
    (cond
     ((= S 2)
      (while (setq LAY (entsel "\n选择该层物体 "))
        (setq LAY (cdr (assoc 8 (entget (car LAY)))))
        (COMMAND "COPY" SS "" "0,0" "0,0")
        (COMMAND "CHPROP" SS "" "LA" lay "")
      )
     )
     ((or (= S 1) (= s nil))
      (while (/= (SETQ LAY (GETSTRING "\n层名: ")) "")
        (COMMAND "COPY" SS "" "0,0" "0,0")
        (COMMAND "CHPROP" SS "" "LA" lay "")
      )
     )
    )
   )
  )
  (PRINC)
)
发表于 2006-4-23 13:35:00 | 显示全部楼层

你试试看。这个程序好像是隆腾的。

我是搞端子模具的。

(DEFUN C:CF ()
  (SETQ SS (SSGET))
  (if (= ss nil)
    (progn (prompt "\n---*error*选取对象---")
    (setq ss (ssget))
    )
  )
  (setq s (getint "\n请输入复制方式1)输入层名: (2)选择该层物体: "))
  (if (= S 2)
    (progn
      (while
 (setq la (entsel "\n选择该层物体 "))
  (setq la (cdr (assoc 8 (entget (car la)))))
  (if (= la nil)
    (progn (SETQ la (getstring "\n---*error*再一次输入---")))
  )
  (princ)
  (COMMAND "COPY" SS "" "0,0" "0,0")
  (COMMAND "CHPROP" SS "" "LA" la "")
      )
    )
    (princ)
  )
  (if (or (= S 1) (= s nil))
    (progn (while (SETQ LAY (GETSTRING "\n层名:_______"))
      (COMMAND "COPY" SS "" "0,0" "0,0")
      (COMMAND "CHPROP" SS "" "LA" lay "")
    )
    )
  )
  (if (= lay nil)
    (progn (SETQ LAY (getstring "\n---*error*再一次输入---")))
  )
  (princ)
  (command "ucs" "v")
  (command "undo" "end")
  (PRINC)
)

发表于 2006-4-23 22:44:00 | 显示全部楼层
原地复制有何意义?!
 楼主| 发表于 2006-4-24 22:45:00 | 显示全部楼层

流浪剑客,谢谢你!我也是搞端子模具设计的,很高兴认识你!

那个程序还是不能结束,要怎么修改,现在用得很不方便,拜托帮忙!

 楼主| 发表于 2006-4-24 22:47:00 | 显示全部楼层

流浪剑客,有时间,我们QQ上聊聊,我的:290518079

 楼主| 发表于 2006-4-24 23:06:00 | 显示全部楼层
xyp1964,非常谢谢你,上次您帮我改的这个程序不能执行,烦请你再帮我改改,因为我不是很懂LISP 语言!拜托
发表于 2006-4-24 23:44:00 | 显示全部楼层
  1. (load "xyp_lib.vlx") ;版本 V.20060314
  2. ;|下载和加载通用函数(可在签名栏直接下载后放到搜索路径下)
  3. 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
  4. ★1·在acad.lsp中增加(load"xyp_lib")
  5. ■2·在每个程序内增加(load"xyp_lib")
  6. ■3·在command下,输入(load"xyp_lib")
  7. ■4·在菜单.mnl中增加(load"xyp_lib")
  8. ■5·将xyp_lib.vlx文件直接拽到cad屏幕
  9. [COLOR=red] ★通用函数下载地址:[/COLOR]
  10. [url]http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554[/url]
  11. |;
  12. (DEFUN C:CF ()
  13.   (cmdla0)
  14.   (if (null ukw) (setq ukw "1"))
  15.   (SETQ ukw (UKWORD 7 "1 2" "\n请输入复制方式 : 1-输入层名/2-选择目标层物体" ukw))
  16.   (setvar "osmode" 0)
  17.   (prompt "\n选取对象: ")
  18.   (if (SETQ SS (SSGET))
  19.     (cond ((= ukw "2")
  20.     (while (not (setq s1 (car (entsel "\n选择目标层物体: ")))))
  21.     (setq LAY (xyp-get-dxf 8 s1))
  22.     (COMMAND "COPY" SS "" "0,0" "0,0")
  23.     (COMMAND "CHPROP" SS "" "LA" lay "")
  24.    )
  25.    ((= ukw "1")
  26.     (SETQ STR (USTR 7 "\n输入层名" STR nil))
  27.     (xyp-mkla str)
  28.     (COMMAND "COPY" SS "" "0,0" "0,0")
  29.     (COMMAND "CHPROP" SS "" "LA" str "")
  30.    )
  31.     )
  32.   )
  33.   (cmdla1)
  34. )
发表于 2006-4-25 18:11:00 | 显示全部楼层

有缘!我在东莞长安。

(DEFUN C:CF ()
  (SETvar "CMDECHO" 0)
  (vl-cmdf "_.undo" "_group")
  (SETQ SS (SSGET))
  (if (= ss nil)
    (progn (prompt "\n---*error*选取对象---")
    (setq ss (ssget))
    )
  )
  (setq s (getint "\n请输入复制方式1)输入层名: (2)选择该层物体: "))
  (if (= S 2)
    (progn

      (setq la (entsel "\n选择该层物体 "))
      (setq la (cdr (assoc 8 (entget (car la)))))
      (if (= la nil)
 (progn (SETQ la (getstring "\n---*error*再一次输入---")))
      )
      (princ)
      (COMMAND "COPY" SS "" "0,0" "0,0")
      (COMMAND "CHPROP" SS "" "LA" la "")

    )
    (princ)
  )
  (if (or (= S 1) (= s nil))
    (progn (SETQ LAY (GETSTRING "\n层名:_______"))
    (COMMAND "COPY" SS "" "0,0" "0,0")
    (COMMAND "CHPROP" SS "" "LA" lay "")

    )
  )
  (if (= lay nil)
    (progn (SETQ LAY (getstring "\n---*error*再一次输入---")))
  )
  (princ)
  (command "ucs" "v")
  (vl-cmdf "_.undo" "_end")
  (SETvar "CMDECHO" 1)
  (PRINC)
)

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-9-20 01:38 , Processed in 0.386142 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表