(defun $delta_a (%_c %_a)
(sqrt (- (expt %_c 2) (expt %_a 2)))
)
;;—
(defun #ssadd (#ent1 / #ssent)
(setq #ssent (ssadd))
(ssadd #ent1 #ssent)
(while #ent1
(ssadd #ent1 #ssent)
(setq #ent1 (entnext #ent1))
)
#ssent
)
;;—
(defun c:stamp ()
(defun *error* (msg)(princ “error: “)(princ msg)
(setvar “clayer” cla) (setvar “osmode” osm) (setvar “TEXTSTYLE” styl) (command “undo” “e”)
(princ))
(setvar “cmdecho” 0)
(setq cla (getvar “clayer”))
(command “layer” “s” “0” “”)
(setq osm (getvar “osmode”))
(setq styl (getvar “TEXTSTYLE”))
(setvar “cmdecho” 0)
(setq $old_textstyle (getvar “TEXTSTYLE”))
(if (= nil (tblsearch “style” “출도문자”))
(COMMAND “STYLE” “출도문자” “궁서체” “0” “0.8” “0” “n” “n” “n”)
)
(if (= nil (tblsearch “block” “time”))
(progn
(command “donut” 34.8 35.2 “0,0” “”)
(setq $time_en1 (entlast))
(setq $ent_1 (entlast))
(setq ii 1
ai (- 7.5)
)
(repeat 24
(setq ii (1+ ii)
ai (- ai 15)
)
)
(command “block” “time” ‘(0 0) (#ssadd $time_en1) “”)
)
)
(setvar “osmode” 0)
(if (= nil (tblsearch “block” “date”))
(progn
(command “line” (list (- ($delta_a 17.5 5)) 5) (list ($delta_a 17.5 5) 5) “”)
(setq $date_en1 (entlast))
(command “line” (list (- ($delta_a 17.5 5)) (- 5)) (list ($delta_a 17.5 5) (- 5)) “”)
(setvar “TEXTSTYLE” “출도문자”)
(command “text” “j” “Fit” ‘(-9 7.5) ‘(9 7.5) “5” “제작도”)
(command “text” “j” “Fit” ‘(-12.5 -10.5) ‘(12.5 -10.5) “4” “산업설비설계부”)
; (command “text” “j” “Fit” ‘(-10 -7.7) ‘(10 -7.7) “2.5” “회사이름”)
(command “block” “date” “0,0” (#ssadd $date_en1) “”)
)
)
(L0)
(setq #insp (getpoint “nInsert Point : “))
(setq #cd (rtos (getvar “cdate”) 2 8)
#cdate (strcat (substr #cd 1 4) “.” (substr #cd 5 2) “.”
(substr #cd 7 2))
#tih (atoi (substr #cd 10 2))
#tim (atoi (substr #cd 12 2))
#_ang (+ (* 15 (1- #tih)) (* 3.75 (/ #tim 15.0)))
)
(setvar “TEXTSTYLE” “출도문자”)
(command “text” “J” “M” #insp 4 “0” #cdate)
(command “insert” “time.dwg” #insp 1 1 #_ang)
(command “insert” “date.dwg” #insp 1 1 0)
(setvar “TEXTSTYLE” $old_textstyle)
(setvar “clayer” cla)
(setvar “osmode” osm)
(setvar “TEXTSTYLE” styl)
(princ)
)
(defun L0 ()
(command “layer” “M” “0” “”)
)
도장찍는 리습입니다.
한번 사용해보시고 제가 원하는 내용 반영해주실수 있는분이 계셨으면 좋겠네요~
제가 원하는 사항은
stamp 명령어 입력후
클릭 하면 클릭 한 자리에 도장이 찍히는 것을
=====>stamp 명령어 입력후 클릭 후
도면싸이즈 입력 예) a3, a2, a1
이렇게 싸이즈 입력후 a3일 경우에는 스케일을 1로 a2일 경우에는 스케일을 “Y”로 a1일 경우에는 “X”로 변경 되었으면 하는 점
두번째로는 도면 스케일 입력후 (스탬프 스케일 조정후)
곱하기 딤스케일….
그러니까 이건 a3용지에 1:5인 도면에 도장을 찍는다 하면
도장크기가 1곱하기 5 그러니까 5배의 크기로 찍혀야 하는거구요,
a2인 용지에 스케일이 1:5 라하면 Y곱하기 5
이런식으로 조정할수 있게끔요……….
능력자 분들 부탁 드립니다.
공유