saintdog 发表于 2002-2-6 10:59:36

[LISP函数]:为LCD设计的LISP:给定间隔距离的,宽度可选的快速偏移

LISP程序名:AOFFSET给定间隔距离的,宽度可选的快速偏移。
(defun C:AOFFSET (/ sr mx mx1 mx2ss N N1 PT1 obj1 AAA al)
(setq sr "") (setq mx 0)
(setq mx1 (getreal "间隔距离:"))
(while (= sr "")
(setq sr (strcat (getstring "\nSpecify offset distance <x/x/x...>:") "/")))
(prompt "\nSelect object to offset: ")
(while (= obj1 nil)
       (setq obj1 (entsel))
)
(initget 1)
(setq PT1 (getpoint "\nSpecify point on side to offset: "))
(setq al (+ (strlen sr) 1))
(setq N 1)
(setq ss "")
(while (not (= N al))
    (if (= (substr sr N 1) "/")
         (progn
                  (setq AAA (car obj1)) (setq N1 0)
                  (while (/= N1 2)
                         (if (= 1 N1)
                   (setq ss (rtos (setq mx (+ (atof ss) mx1)) 2))
          (setq ss (rtos (setq mx (+ (atof ss) mx)) 2)))
                   (command "_.offset" ss AAA PT1 "")
                  (setq N1 (+ 1 N1)))
                  (setq ss "") (setq N1 0)
            )
            (setq ss (strcat ss (substr sr N 1)))
      )
      (setq N (1+ N))
      )
(princ)
)

saintdog 发表于 2002-2-6 11:01:55

为LCD设计的LISP程序

aeo 发表于 2002-4-14 23:12:56

试试我写的,如果知道几条就输条数,不知道时点总距离

(defun c:ooo(/ np1 p2 p3 nn ddswap oodist1 j)
(if(not oodist)(setq oodist 100))
(setq n(getdist (strcat"距离("(rtos oodist 2 2)"):")))
(if n(setq oodist n))
(setq swap(entsel))
(if swap(progn
(setq p1(cadr swap))
(initget 1)
(setq p2(getpoint p1 "\n范围:"))

(setq nn (getint "\n几条(回车选点确定条数):"))

   (if(not nn)
    (progn (setq dd(distance p1 p2))
         (setq nn(fix(/ dd oodist)))))   
(setq off(getvar "offsetdist"))         
(setq j 1)
(command "undo""group")
(while (<= j nn)
(setq oodist1(* j oodist))
(setvar"offsetdist" oodist1 )
(command "offset"""swap p2 "")
   (setq j(1+ j))
)
(setvar"offsetdist" off)(command "undo""End")
))
(princ "ok")
)

saintdog 发表于 2002-4-20 02:56:07

to aeo:你画的LCD难道是单线吗?

你画的LCD难道是单线吗?我以前也是画单线,现在不是这样设计的.

li809 发表于 2005-2-18 00:42:16

跟本站的重复偏移有区别吗

wx_onD27oB3 发表于 2020-2-15 18:12:44

本站的重复偏移在哪儿?

dnbc 发表于 2025-5-19 14:20:37

前来学习学习!
页: [1]
查看完整版本: [LISP函数]:为LCD设计的LISP:给定间隔距离的,宽度可选的快速偏移