明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 585|回复: 4

[提问] 程序增加求助 已解決

[复制链接]
发表于 2020-9-7 17:02:57 | 显示全部楼层 |阅读模式
本帖最后由 倫到不行 于 2020-9-8 12:39 编辑

(defun C:sCC (/ ss a b d)
(command "-layer" "m" "0" "c" "7" "" "")
(command "-layer" "OFF" "DIM"  "OFF" "HID" "OFF" "CEN"  "")


  (setq
SS (ssget
  '((0 . "REGION,CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC,INSERT"))      <====想在選取後 有ELLIPS, SPLINE 就不能執行下一段程序
  )                                                                                                                                 並且 ELLIPS, SPLINE 變成紅色
  )                                                                                                                 假如 沒有ELLIPS , SPLINE  可以直接執行                                                  




  (prompt "選取圖號: ")
(setq a (entsel))  
(setq b (entget (car a)))  
(setq d (assoc 1 b))

  (setq w2 (print (cdr d)))
(if(findfile (SETQ w3 (STRCAT "d:/N/" w2 ".dxf" )) )
    (alert(strcat w3"已存在"))
(progn


  (command "filedia" "0")
(command "dxfout" w3 "O" SS "" "v" "R12" "")

(command "filedia" "1")))
(princ)
)

試很多寫法都沒有成功    懇求高手幫忙
发表于 2020-9-8 11:48:10 | 显示全部楼层
(defun C:tt5 (/ a b d ss ss_es w2 w3)
        (command "-layer" "m" "0" "c" "7" "" "")
        (command "-layer" "OFF" "DIM"  "OFF" "HID" "OFF" "CEN"  "")
  (setq SS (ssget '((0 . "REGION,CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC,INSERT"))))
        (if (setq ss_es (ssget "p" '((0 . "ELLIPSE,SPLINE"))))
                (progn (command "CHANGE" ss_es "" "p" "c" 1 "") (alert "\n选中了椭圆或样条曲线!"));pr1
                (progn
                        (prompt "選取圖號: ")
                        (setq a (entsel))
                        (setq b (entget (car a)))
                        (setq d (assoc 1 b))
                        (setq w2 (print (cdr d)))
                        (if(findfile (SETQ w3 (STRCAT "d:/N/" w2 ".dxf" )) )
                                (alert(strcat w3 "已存在"))
                                (progn
                                        (command "filedia" "0")
                                        (command "dxfout" w3 "O" SS "" "v" "R12" "")
                                        (command "filedia" "1"))));pr2
        );if
        (princ)
)
回复 支持 1 反对 0

使用道具 举报

发表于 2020-9-7 18:28:50 | 显示全部楼层

(cond
((setq SS (ssget  '((0 . "ELLIPSE,SPLINE"))))      <====想在选取后 有ELLIPSE, SPLINE 就不能执行下一段程序
  (alert "....")   ;自己决定提示句
  (并且 ELLIPSE, SPLINE 变成红色)   ; 副函式
)      
((setq SS (ssget '((0 . "REGION,CIRCLE,LINE,*POLYLINE,ARC,INSERT"))))
   (执行下一段程序)
))

也可一次选取 再处理
 楼主| 发表于 2020-9-8 08:00:17 | 显示全部楼层
Andyhon 发表于 2020-9-7 18:28
(cond
((setq SS (ssget  '((0 . "ELLIPSE,SPLINE"))))

(defun C:sCC (/ ss a b d)
(command "-layer" "m" "0" "c" "7" "" "")
(command "-layer" "OFF" "DIM"  "OFF" "HID" "OFF" "CEN"  "")




(cond
((setq SS (ssget  '((0 . "ELLIPSE,SPLINE"))))

(alert "SSSSS")
)


((setq SS (ssget '((0 . "REGION,CIRCLE,LINE,*POLYLINE,ARC,INSERT"))))
   ))
  

  (prompt "選取圖號: ")
(setq a (entsel))  
(setq b (entget (car a)))  
(setq d (assoc 1 b))

  (setq w2 (print (cdr d)))
(if(findfile (SETQ w3 (STRCAT "d:/N/" w2 ".dxf" )) )
    (alert(strcat w3"已存在"))
(progn

  
  (command "filedia" "0")
(command "dxfout" w3 "O" SS "" "v" "R12" "")

(command "filedia" "1")))
(princ)
)

可以幫我看看 出錯的地方嗎.        程序執行有問題    沒有ELLIPSE,SPLINE時 沒辦法存檔
 楼主| 发表于 2020-9-8 12:37:21 | 显示全部楼层
start4444 发表于 2020-9-8 11:48
(defun C:tt5 (/ a b d ss ss_es w2 w3)
        (command "-layer" "m" "0" "c" "7" "" "")
        (command "-layer" ...

非常感謝  程序沒有問題  IF 我還不會哂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 21:11 , Processed in 0.196795 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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