倫到不行 发表于 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)
)

試很多寫法都沒有成功    懇求高手幫忙

start4444 发表于 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)
)

Andyhon 发表于 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 我還不會哂
页: [1]
查看完整版本: 程序增加求助 已解決