明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5303|回复: 10

[提问] lisp如何引用无命令行提示的命令

[复制链接]
发表于 2013-7-4 13:53:48 | 显示全部楼层 |阅读模式
        cad有些自带命令功能特别强大,比如overkill、arctext!运行它们的时候只是一个对话框,在里面设置好,点击确定,Ok!我现在有一个想法,把它们植入lisp或脚本中不再弹出那个对话框,不知各位有没有解决的办法。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-7-4 14:27:13 | 显示全部楼层
在ET目录下找到相应的Lisp源码,自己去改造吧!

评分

参与人数 1明经币 +1 收起 理由
bzhjl + 1 赞一个!

查看全部评分

 楼主| 发表于 2013-7-4 17:52:04 | 显示全部楼层
Gu_xl 发表于 2013-7-4 14:27
在ET目录下找到相应的Lisp源码,自己去改造吧!

在我的cad目录没有查到
 楼主| 发表于 2013-7-4 19:45:44 | 显示全部楼层

RE: lisp如何引用无命令行提示的命令

Gu_xl 发表于 2013-7-4 14:27
在ET目录下找到相应的Lisp源码,自己去改造吧!

我的ET目录下确实没有overkill.lsp文件,但overkill命令可用

点评

啥版的ACAD?2004版有这个lisp。  发表于 2013-7-4 23:04
 楼主| 发表于 2013-7-4 23:24:16 | 显示全部楼层
zdqwy19 发表于 2013-7-4 19:45
我的ET目录下确实没有overkill.lsp文件,但overkill命令可用

最新的2014
发表于 2013-7-5 16:47:13 | 显示全部楼层
我2011的上面有,copy出来给你看下:

;;
;;  Overkill.lsp - Overlaping object checker/fixer.
;;                    
;;
;;  Copyright ?1999 by Autodesk, Inc.
;;
;;  Your use of this software is governed by the terms and conditions
;;  of the License Agreement you accepted prior to installation of this
;;  software.  Please note that pursuant to the License Agreement for this
;;  software, "[c]opying of this computer program or its documentation
;;  except as permitted by this License is copyright infringement under
;;  the laws of your country.  If you copy this computer program without
;;  permission of Autodesk, you are violating the law."
;;
;;  AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
;;  AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
;;  MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK, INC.
;;  DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
;;  UNINTERRUPTED OR ERROR FREE.
;;

;|

Overlaping vector checker/fixer.

The idea is to find overlapping objects and:
1. remove the un-needed/hidden objects.
2. modify partially overlapping objects such that they no longer overlap.

Supported objects will include:
LINES, POLYLINES, LWPOLYLINES, ARCS, and CIRCLES.

All objects will be broken down into simple line and arc representations
nd placed in a master list.

The master list will contain sublists of the form:
((type gen-data) otherData ename)

Line data Example:
  (0   (m b)          (p1 p2) ename)

-  Type is 0 for a line.
-  The general data consists of 'm' and 'b' which are the
    slope and y-intersection respectively. The 'm' and 'b'
    elements are found in the equation of a line: y=mx+b
-  The specific data for a line is the two endpoints.
-  Finally an ename

   NOTE: If the line is vertical (undefined slope) then 'm' will be nil
         and 'b' will actually be the x-axis intersection value.
         i.e. (nil 1.0) is the equation of the line x=1.0

Arc Data Example:
(1 (cent radius) (startAng endAng) ename)

-  Type is 1 for an arc (includes circles)
-  General data is center point and radius
-  specific data is comprised of start and end angles respectively.
-  ename


Using the (type gen-data) element of each sublist we can m-assoc to
extract a list of all objects that have the potential to overlap.
From here we can loop through the set checking each object against
the others to determine which objects overlap with others.
compare
object1 and object2
  ...    and object3
  ...    and object4
  ...    and object5

If object1 completely contains object2 then delete object2
If object1 partially overlaps with object2 modify object2



acet-ss-remove-dups
0   type
8   layer
6   linetype
62  color
370 lineweight
390 plotstyle



|;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:overkill ( / lst )
(acet-error-init
  (list '("cmdecho" 0)
         T
  )
)
(if (setq lst (acet-overkill-ui nil))
     (acet-overkill2 lst)
);if
(acet-error-restore)
);defun c:overkill

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:-overkill ( / lst )
(acet-error-init
  (list '("cmdecho" 0)
         T
  )
)
(if (setq lst (acet-overkill-ui T)) ;force command line
     (acet-overkill2 lst)
);if
(acet-error-restore)
);defun c:-overkill

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;If the cmdline arg is true then command will be command line line driven.
;
(defun acet-overkill-ui ( cmdline / ss lst )

(if (and (setq ss (ssget "_:l"))
          (setq ss (car (acet-ss-filter (list ss nil T))))
     );and
     (progn
      (princ "\n")
      (if (or cmdline
              (= 4 (logand 4 (getvar "cmdactive")))
              (= 0 (getvar "cmddia"))
          );or
          (setq lst (acet-overkill-ui-cmd))
          (setq lst (acet-overkill-ui-dlg))
      );if
      (if lst
          (setq lst (cons ss lst))
      );if
     );progn then
);if
);defun acet-overkill-ui

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-ui-cmd ( / ans )

(setq ans T)
(while ans
  (acet-overkill-print-modes)
  (initget "Ignore Fuzz Plines parTial Endtoend") ;; force non-negative entry 4+128
  (setq ans (getkword "\nEnter an option to change [Ignore/Fuzz/Plines/parTial/Endtoend] <done>: "))
  (cond
   ((= ans "Ignore")   (acet-overkill-ui-cmd-ignore))
   ((= ans "Fuzz")     (acet-overkill-ui-cmd-fuz))
   ((= ans "Plines")   (acet-overkill-ui-cmd-plines))
   ((= ans "parTial")  (acet-overkill-ui-cmd-partial))
   ((= ans "Endtoend") (acet-overkill-ui-cmd-endtoend))
  );cond close
);while
(list
  (max (acet-overkill-fuz-get) 1.0e-08)
  (acet-overkill-ignore-get)
  (acet-overkill-no-plines-get)
  (acet-overkill-no-partial-get)
  (acet-overkill-no-endtoend-get)
);list
);defun acet-overkill-ui-cmd

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;prompts for fuz value and returns the fuz as a floating point number.
;
(defun acet-overkill-ui-cmd-fuz ( / def fuz ans )
(setq def (acet-overkill-fuz-get))
(if (not def)
     (setq def 0.000001)
);if
(initget 4) ;; no negative fuz
(setq ans (getdist
            (acet-str-format "\nSpecify Fuzz for numeric comparisons <%1>: "
                             (acet-rtos2 def)
            )
           );getdist
);setq
(if (not ans)
     (setq ans def)
);if
(acet-overkill-fuz-set ans)
ans
);defun acet-overkill-ui-cmd-fuz

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;prompts for properties to ignore and returns the ignore list (list of common group codes to ignore
;during object comparisons)
;
(defun acet-overkill-ui-cmd-ignore ( / def fuz ans lst a x anslst lst2 lst3 n ignore )

(setq ignore (acet-overkill-ignore-get))
(acet-overkill-print-ignore)

(setq lst '((8 "LAYER")
             (6 "LTYPE")
             (62 "COLOR")
             (370 "LWEIGHT")
             (390 "PLOTSTYLE")
            )
);setq
;; build a list of strings
(foreach x lst
   (setq lst2 (cons (cadr x) lst2));setq then
);foreach
(setq lst2 (cons "." lst2)
       lst2 (reverse lst2)
) ;add a dot as valid entry (used to specify none)

(princ "\nSpecify properties to ignore when comparing objects... ")  
(setq ans (acet-ui-m-get-names
            (list nil        ;; no spaces
                  "\n[layer,ltype,color,lweight,plotstyle, * (for all)] or \".\" for none <default>: "
                  lst2        ;; valid entries
            );list
           );acet-ui-m-get-names
);setq
(if ans
     (progn
      ;; now convert back to a list of group codes and save it.
      (setq  lst (mapcar 'reverse lst)
            lst2 nil
      );setq
      (foreach x ans
       (if (setq a (assoc x lst))
           (setq lst2 (cons (cadr a) lst2));setq then
       );if
      );foreach
      (setq lst2 (reverse lst2))
      (acet-overkill-ignore-set lst2)
     );progn then
);if

(acet-overkill-ignore-get)
);defun acet-overkill-ui-cmd-ignore

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-ui-cmd-plines (/ def ans a )
(setq def (acet-overkill-no-plines-get))
(if (= def 1)
     (setq def "No")
     (setq def "Yes")
);if
(initget "Yes No")
(setq ans (getkword (acet-str-format "\nOptimize segments within plines <%1>: " def)))
(if (not ans)
     (setq ans def)
);if
(if (= ans "No")
     (progn
      (acet-overkill-no-plines-set T)
      (setq a T)
     );progn
     (acet-overkill-no-plines-set nil)
);if
a
);defun acet-overkill-ui-cmd-plines

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-ui-cmd-partial (/ def ans a )
(setq def (acet-overkill-no-partial-get))
(if (= def 1)
     (setq def "No")
     (setq def "Yes")
);if
(initget "Yes No")
(setq ans (getkword (acet-str-format "\nCombine co-linear objects that partially overlap <%1>: " def)))
(if (not ans)
     (setq ans def)
);if
(if (= ans "No")
     (progn
       (acet-overkill-no-partial-set T)
       (setq a T)
     );progn
     (acet-overkill-no-partial-set nil)
);if
a
);defun acet-overkill-ui-cmd-partial

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-ui-cmd-endtoend (/ def ans a )
(setq def (acet-overkill-no-endtoend-get))
(if (= def 1)
     (setq def "No")
     (setq def "Yes")
);if
(initget "Yes No")
(setq ans (getkword (acet-str-format "\nCombine co-linear objects when aligned end to end <%1>: " def)))
(if (not ans)
     (setq ans def)
);if
(if (= ans "No")
     (progn
       (acet-overkill-no-endtoend-set T)
       (setq a T)
     );progn
     (acet-overkill-no-endtoend-set nil)
);if
a
);defun acet-overkill-ui-cmd-endtoend


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-print-ignore ( / ignore lst a x )
(setq ignore (acet-overkill-ignore-get))
(setq lst '((8 "Layer")
             (6 "Linetype")
             (62 "Color")
             (370 "Lineweight")
             (390 "Plotstyle")
            )
);setq
(if ignore
     (princ "\nIGNORE=")
     (princ "\nIGNORE=none")
);if
(foreach x ignore
  (if a
      (princ ",")
  );if
  (if (setq a (assoc x lst))
      (princ (cadr a))
  );if
);foreach
);defun acet-overkill-print-ignore

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-print-modes ( / fuz ignore no-plines no-partial no-endtoend x a lst )

(setq          fuz (acet-overkill-fuz-get)
          no-plines (acet-overkill-no-plines-get)
         no-partial (acet-overkill-no-partial-get)
        no-endtoend (acet-overkill-no-endtoend-get)
);setq
(acet-overkill-print-ignore)

(princ "\n")
(princ (strcat "Fuzz=" (acet-rtos2 fuz)))

(if (not no-plines)                 ;; "aint got no back-eyed peas neither!"
     (princ ", Optimize PLINES=Y")
     (princ ", Optimize PLINES=N")
);if
(if (not no-partial)
     (princ ", combine PARTIAL overlap=Y")
     (princ ", combine PARTIAL overlap=N")
);if
(if (not no-endtoend)
     (princ ", combine ENDTOEND=Y")
     (princ ", combine ENDTOEND=N")
);if

);defun acet-overkill-print-modes

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;
(defun acet-overkill-ui-dlg ( / ignore checkit lst flag iv fuz )

(setq ignore (acet-overkill-ignore-get))
(if (> (setq iv (load_dialog "overkill"));setq
        0
     );test
     (progn
      (if (new_dialog "overkill" iv)
          (progn
           ;; local function validates and returns the list of group codes to ignore and the fuz
           ;; if no errors are found.
           (defun checkit ( / ignore fuz lst no-plines no-partial no-endtoend)
            (if (= (get_tile "layer") "1")
                (setq ignore (cons 8 ignore))
            );if
            (if (= (get_tile "linetype") "1")
                (setq ignore (cons 6 ignore))
            );if
            (if (= (get_tile "color") "1")
                (setq ignore (cons 62 ignore))
            );if
            (if (= (get_tile "lineweight") "1")
                (setq ignore (cons 370 ignore))
            )
            (if (= (get_tile "plotstyle") "1")
                (setq ignore (cons 390 ignore))
            )

            (if (= (get_tile "plines") "0")
                (setq no-plines T)
            )
            (if (= (get_tile "partial") "0")
                (setq no-partial T)
            )
            (if (= (get_tile "endtoend") "0")
                (setq no-endtoend T)
            )

            (setq fuz (get_tile "fuz"))
            (if (or (not (distof fuz))
                    (< (distof fuz) 0.0)
                );or
                (set_tile "error" "Invalid. Fuzz value must be numeric and non-negative.")
                (setq lst (list (distof fuz)
                                ignore
                                no-plines
                                no-partial
                                no-endtoend
                          );list
                );setq else
            );if   
            lst
           );defun checkit

           ;; initialize the tiles
           (if (member 8 ignore)
               (set_tile "layer" "1")
               (set_tile "layer" "0")
           );if
           (if (member 6 ignore)
               (set_tile "linetype" "1")
               (set_tile "linetype" "0")
           );if
           (if (member 62 ignore)
               (set_tile "color" "1")
               (set_tile "color" "0")
           );if
           (if (member 370 ignore)
               (set_tile "lineweight" "1")
               (set_tile "lineweight" "0")
           );if
           (if (member 390 ignore)
               (set_tile "plotstyle" "1")
               (set_tile "plotstyle" "0")
           );if

           (set_tile "fuz" (acet-rtos2 (acet-overkill-fuz-get)))

           (if (acet-overkill-no-plines-get)
               (set_tile "plines" "0")
               (set_tile "plines" "1")
           );if
           (if (acet-overkill-no-partial-get)
               (set_tile "partial" "0")
               (set_tile "partial" "1")
           );if
           (if (acet-overkill-no-endtoend-get)
               (set_tile "endtoend" "0")
               (set_tile "endtoend" "1")
           );if
           (action_tile "accept" "(if (setq lst (checkit)) (done_dialog 1))")
           (action_tile "cancel" "(done_dialog 0)")
           (action_tile "help" "(acet-help \"OVERKILL\")")


           (setq flag (start_dialog));setq

           (if (= flag 1)
               (progn
                (acet-overkill-fuz-set         (nth 0 lst))
                (acet-overkill-ignore-set      (nth 1 lst))
                (acet-overkill-no-plines-set   (nth 2 lst))
                (acet-overkill-no-partial-set  (nth 3 lst))
                (acet-overkill-no-endtoend-set (nth 4 lst))
                (setq lst (list (max (nth 0 lst) 1.0e-08) ;min uz value of 1.0e-08
                                (nth 1 lst)
                                (nth 2 lst)
                                (nth 3 lst)
                                (nth 4 lst)
                          );list
                );setq
               );progn then
           );if
          );progn then initialize the tiles and activate the dialog box
          (alert "Unable to display dialog box")
      );if new dialog
      (unload_dialog iv);unload it when done
     );progn then
     (alert "Unable to load dialog box");else
);if load
(if (= flag 1)
     (acet-acad-refresh) ;force AutoCAD to refresh it's window.
);if

lst
);defun acet-overkill-ui-dlg

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Returns a list of group codes that corispond to properties that overkill will ignore
;when comparing objects.
;
(defun acet-overkill-ignore-get ( / lst )
(setq lst (acet-getvar (list "ACET-OVERKILL-IGNORE" 6))) ;; 2+4=look in current profile then in fixed profile
(if (and lst
          (/= lst "")
     );and
     (setq lst (acet-str-to-list "," lst)
           lst (mapcar 'atoi lst)
     );setq
     (setq lst nil)
);if
lst
);defun acet-overkill-ignore-get

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Takes a list of group codes that corispond to properties that overkill will ignore
;and saves the data in the current profile as well as the fixed profile.
;
(defun acet-overkill-ignore-set ( ignore / gcode a )
(setq a "")
(foreach gcode ignore
   (setq a (strcat a "," (itoa gcode)))
);foreach
(if (/= a "")
     (setq a (substr a 2))
);if
(acet-setvar (list "ACET-OVERKILL-IGNORE" a 6)) ;; 2+4=place it in current and fixed profiles
);defun acet-overkill-ignore-set

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; default get and set functions
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-fuz-get ( / fuz )
(setq fuz (acet-getvar '("ACET-OVERKILL-FUZZ" 1)))
(if (not fuz)
     (setq fuz 0.000001)
);if
fuz
);defun acet-overkill-fuz-get
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-fuz-set ( fuz / )
(acet-setvar (list "ACET-OVERKILL-FUZZ" fuz 1))
);defun acet-overkill-fuz-set


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-no-plines-get ( / no-pline )
(setq no-pline (acet-getvar '("ACET-OVERKILL-NO-PLINES")))
(if (/= no-pline 1)
     (setq no-pline nil)
);if
no-pline
);defun acet-overkill-no-plines-get
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-no-plines-set ( no-pline / )
(if no-pline
     (acet-setvar (list "ACET-OVERKILL-NO-PLINES" 1 3))
     (acet-setvar (list "ACET-OVERKILL-NO-PLINES" 0 3))
);if
);defun acet-overkill-no-plines-set


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-no-partial-get ( / no-partial )
(setq no-partial (acet-getvar '("ACET-OVERKILL-NO-PARTIAL")))
(if (/= no-partial 1)
     (setq no-partial nil)
);if
no-partial
);defun acet-overkill-no-partial-get
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-no-partial-set ( no-partial / )
(if no-partial
     (acet-setvar (list "ACET-OVERKILL-NO-PARTIAL" 1 3))
     (acet-setvar (list "ACET-OVERKILL-NO-PARTIAL" 0 3))
);if
);defun acet-overkill-no-partial-set

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-no-endtoend-get ( / no-endtoend )
(setq no-endtoend (acet-getvar '("ACET-OVERKILL-NO-ENDTOEND")))
(if (/= no-endtoend 1)
     (setq no-endtoend nil)
);if
no-endtoend
);defun acet-overkill-no-endtoend-get
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun acet-overkill-no-endtoend-set ( no-endtoend / )
(if no-endtoend
     (acet-setvar (list "ACET-OVERKILL-NO-ENDTOEND" 1 3))
     (acet-setvar (list "ACET-OVERKILL-NO-ENDTOEND" 0 3))
);if
);defun acet-overkill-no-endtoend-set

;;;functions below are maintained for backward compatibility...

(defun acet-overkill (alst)
(acet-overkill2 alst)
)
(defun acet-overkill-resolve-lines ( lst ss2 fuz no-partial no-endtoend / )
(acet-overkill-resolve-arcs2 lst ss2 fuz no-partial no-endtoend)
)
(defun acet-overkill-resolve-arcs ( lst ss2 fuz no-partial no-endtoend / )
(acet-overkill-resolve-arcs2 lst ss2 fuz no-partial no-endtoend)
)
(defun acet-overkill-line-data ( e1 fuz genprops / )
(acet-overkill-line-data2 e1 fuz genprops)
)
(defun acet-overkill-gen-prop-get ( e1 genprops / )
(acet-overkill-gen-prop-get2 e1 genprops)
)
(defun acet-rtos (val)
(acet-rtos2 val)
)
(defun acet-overkill-ss->primitives ( ss fuz ignore )
(acet-overkill-ss->primitives2 ss fuz ignore)
)


(acet-autoload2        '("OVERKILLSUP.LSP"        (acet-overkill2 alst)))
(acet-autoload2        '("OVERKILLSUP.LSP"        (acet-overkill-gen-prop-get2 e1 genprops)))
(acet-autoload2        '("OVERKILLSUP.LSP"        (acet-overkill-line-data2 e1 fuz genprops)))
(acet-autoload2        '("OVERKILLSUP.LSP"        (acet-overkill-resolve-arcs2 lst ss2 fuz no-partial no-endtoend)))
(acet-autoload2        '("OVERKILLSUP.LSP"        (acet-overkill-ss->primitives2 ss fuz ignore)))
(acet-autoload2        '("OVERKILLSUP.LSP"        (acet-rtos2 val)))
(princ)
 楼主| 发表于 2013-7-5 23:55:29 | 显示全部楼层
谢了!看了主要是引用acet-ss-remove-dups函数,查了半天也没有这个函数的帮助
发表于 2015-4-25 13:29:54 | 显示全部楼层
fl202 发表于 2013-7-5 16:47
我2011的上面有,copy出来给你看下:

;;

overkill引用了其它的fas,vlx,arx吗?现在想把这个功能在中望里面使用,但中望不支持arx,想知道能否引用
发表于 2015-4-25 17:16:45 | 显示全部楼层
革天明 发表于 2015-4-25 13:29
overkill引用了其它的fas,vlx,arx吗?现在想把这个功能在中望里面使用,但中望不支持arx,想知道能否引用 ...

我有纯lisp版的overkill ,不需ET支持
发表于 2015-4-27 10:24:51 | 显示全部楼层
lucas_3333 发表于 2015-4-25 17:16
我有纯lisp版的overkill ,不需ET支持

能将纯lisp的Overkill发布一下吗?现在想移植到中望上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-22 04:19 , Processed in 0.213726 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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