> 커뮤니티 > 정보마당
정보마당

인테리어와 관련된 다양한 지식,정보들을 공유하는 게시판입니다.

캐드 리습_같은 문자로 전환(글자내용 똑같게),Z값을 0으로, 두점사이 지우기!!!!!(완전꿀팁!!), 단열재 자동으로 그리기

M 인테리스 0 107 0 0

같은 문자로 전환(글자내용 똑같게),Z값을 0으로, 두점사이 지우기!!!!!(완전꿀팁!!), 단열재 자동으로 그리기


1. 같은 문자로 전환하는 명령어 "tc"

두개의 다른 글자를 같은 글자로 만드는 것이다.

흐흠-_-a

큰 작업 할때는 잘 안쓰게 되는데 짜잘짜잘하게 글자를 같게 바꿀일은 종종 있다.

근데 캐드에서 글자 바꾸려면 영문 명령어치고 한글전환키 누르고 글자치고 또 한글전환키 눌러서 영문으로 바꾸고

요게 기본이다.

캐드는 다 단축키로만 작업을 하기 때문에 한글치는게 좀 귀찮아서 한꺼번에 몰아서 한다.

텍스트 다 위치잡아 깔아놓코 더블클릭 해서 글자 쭈우우욱~~~~정리하는데

종종 짜잘하게 글자를 바꿔야 될때 상당히 유익했던 기억이 있다.

사실 크게 막 시간 확 줄고 그러는 건 아니지만

귀찮은걸 많이 해결해 줬던 기억이 있다.

어쨌든 상당히 유용하게 썼던 기억!~ㅎㅎ

사용해 보시면 엄청 편함!~한글치기 싫어짐!~ㅎㅎ

(defun c:tc( / sel ss str)

(and

(setq sel (car (entsel "\n기준 문자 선택:")))

(princ "\n대상문자 선택하세요.")

(setq ss (ssget '((0 . "TEXT"))))

(setq str (cdr (assoc 1 (entget sel))) n (sslength ss))

(mapcar

'(lambda (en / ent)

(setq ent (entget en))

(entmod (subst (cons 1 str) (assoc 1 ent) ent))

)

(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))

)

(princ (strcat "\n" (itoa n) "개의 문자를 바꾸었습니다."))

)

(princ)

)

2. z값을 0으로 바꾸는 명령어 "z0"

모두가 아는 명령어.

캐드를 하다보면 선이 안만날때-_-엥??모지??

그럴때 3차원 z값이 존재하기 때문에 x,y값에서 만나도 z값이 떠있어서 오스냅이 안걸린다.

이럴때 한번 해주면 도움이 됨.

단 p라인의 경우 적용 안됨. 블럭 당연히 안되고

그래서 한계가 있음.

도면을 그릴땐 당연히 p라인이나 블럭 작업이 대량으로 수반되는데

라인만 적용되니 전체적으로 한번 적용해주는 것도 나쁘지 않지만

그냥 오스냅이 안걸릴때 쓰면 좋음.

사실 전체 도면이 문제가 있으면 다시 그리는게 훨 빠름-_-

도면은 여기저기서 퍼와서 그리다보면 폰트고 축척이고 난리가 남.

그냥 끌어안고 가다보면 인가도면 한참 그리고 있을때 탈나기 쉬움

실시도면 외주처리 한다 그래도 거기가면 더 난리남ㅎㅎㅎㅎ

걍 첨부터 차분하게 정리 잘 하면서 그리는게

실질적으로 시간도 훨씬 절약되고 도면도 훨씬 깔끔함.

퍼다 그리는건 내부 간단한 인테리어만~~~~~ㅎㅎㅎ

그리고 내부 인테리어 블럭 잡혀 있는것도 다시 한번 점검하면 도면이 훨씬 깔끔해짐!~^^

(defun c:zo (/ ss n k ptz en spt ept ptz sptx spty eptx epty)

(prompt "\nCommand: 2D Entity...")

(prompt "\nZ값을 0으로 하고자하는 대상 선택-> ")

(setq ss (ssget))

(setq n (sslength ss))

(setq k 0)

(setq ptz 0)

(while (<= 1 n)

(setq en (ssname ss k))

(setq spt (cdr (assoc 10 (entget en))))

(if (/= spt nil)(progn

(setq sptx (car spt) spty (cadr spt))

(setq spt (list sptx spty ptz))

(entmod (subst (cons 10 spt) (assoc 10 (entget en))(entget en)))

))

(setq ept (cdr (assoc 11 (entget en))))

(if (/= ept nil)(progn

(setq eptx (car ept) epty (cadr ept))

(setq ept (list eptx epty ptz))

(entmod (subst (cons 11 ept) (assoc 11 (entget en))(entget en)))

))

(setq elept (cdr (assoc 38 (entget en))))

(if (/= elept nil)(progn

(entmod (subst (cons 38 0) (assoc 38 (entget en))(entget en)))

))

(setq n (- n 1))

(setq k (+ k 1))

)

(princ)

)

3. 두점 사이 지우기 명령어 "BB"

이거 완전히 대박 명령어!!!!!!!

안써본 사람은 모르는 대박 좋은 명령어!!

한 선이 있다고 보자!

그 선 중간에 어떻게 자를래??

선 중간을 자를일은 생각보다 많다.

대부분 선 하나 더 긋고 트림 한다던지 선 하나 더 복사해서 스트레치로 줄이고 늘리고~

생각보다 명령어 작업이 단순하지 않다.

이거 BB 있으면 그냥 명령어 치고 선 잡고 중간 맨땅 클릭클릭 해주면 중간에 마우스로 지정된 만큼 잘려나간다.

그럼 그 사이에 뭘 해도 훨씬 편하다.

이건 정말 완전 많이 쓰는 명령어다.

없으면 완전 불편한 완전필수 꿀팁명령어!!!ㅎㅎ

(defun C:BB(/ ss sno pt1 pt2 no x)

(princ " = BREAK2P")

(setq ss (ssget))

(setq sno (sslength ss))

(setq pt1 (getpoint "\n>>> First Point : "))

(setq pt2 (getpoint pt1 "\n>>> Second Point : "))

(setq no 0)

(repeat sno

(setq x (ssname ss no))

(command "break" x pt1 pt2)

(setq no (1+ no))

)(prin1)

)

4. 단열재을 자동으로 그리는 명령어 "ii"

단열재 그릴때 좋다.

p라인으로 설정 가능하고 두께값을 주고 길이 잡아주면 자동으로 그려진다.

단열재를 그리는 방법은 다른 방법도 있다.

캐드 자체 선종류 옵션에 단열재 선이 있다.

본 리습은 단열재 두께값을 주는거고

캐드 자체에 내장되어 있는 단열재는 두께를 스케일로 조정한다.

캐드 차제 내장 단열재의 장점은 스트레치가 가능하다는 것이다.

캐드 설정은 그냥 선으로 인식되는 것이기 때문에 늘려도 단열재 형태로 늘어난다.

단점은 파일을 다시 열때마다 regen을 해줘야 한다. 그냥 선으로 보여진다.

본 리습은 스트레치시 단열재의 형태가 깨진다.

길때는 트림이나 bb로 잘라내고 모자라면 다시 그려야 한다.

내가 이 리습을 쓰는 이유는 단순하다.

단열재를 열때마다 안보이는 단열재가 있는지 없는지 확인하기 위해 regen을 누르지 않는다.

대부분의 사람들은.

그냥 안보이면 인식 자체를 못하게 된다.

그래서 난 보이는게 중요해서 그냥 이 리습을 쓰고

대부분 맞춰서 잘 그린다.

크게 틀릴 일이 없다.

단열재는 대부분 벽체 작업이 끝난 뒤 작업하기 때문에 크게 잘못 할 일이 없다.

어쨌든 필요한 사람한테는 유용하다.

(defun c:ii(/ os bl cl pt1 pt2 thk ag1 ag2 n ds1

b1 b2 b3 b4 p1 p2 p3 p4 p5 p6 p7 p8 ss)

;->*error* start

(defun *error* (msg)(princ "error: ")(princ msg)

(setvar "osmode" os) (setvar "blipmode" bl)

(princ))

;-<*error* end

(setq os (getvar "osmode") bl (getvar "blipmode"))

(if (= dwins nil) (setq dwins 50))

(setq thk (getreal (strcat "\n단열재 두께<"(rtos dwins 2 0)">:")))

(if (= thk nil) (setq thk dwins)) (setq dwins thk)

(setvar "blipmode" 0)

(setvar "osmode" 161);end,per,int

(setq pt1 (getpoint "\n그리기 시작점 선택->"))

(setq pt2 (getpoint pt1 "\n그리기 끝점 선택->"))

(setvar "blipmode" 0)(setvar "osmode" 0)

(setq sc (/ thk 50))

(setq ag1 (angle pt1 pt2) ag2 (+ ag1 (/ pi 2)))

(setq ds1 (distance pt1 pt2))

(setq n (/ ds1 (* sc 25)) )

(setq b1 (polar pt1 ag2 (* sc 4.32))

b2 (polar pt1 ag2 (* sc 13.55))

b3 (polar pt1 ag2 (* sc 36.45))

b4 (polar pt1 ag2 (* sc 50.00)))

(setq p1 (polar b1 ag1 (* sc 8.23))

p2 (polar b2 ag1 (* sc 9.35))

p3 (polar b3 ag1 (* sc 3.15))

p4 (polar b4 ag1 (* sc 12.50))

p5 (polar b3 ag1 (* sc 21.85))

p6 (polar b2 ag1 (* sc 15.65))

p7 (polar b1 ag1 (* sc 16.77))

p8 (polar pt1 ag1 (* sc 25.00)))

(setq ss (ssadd))

(command "pline" pt1 "a" "s" p1 p2 "l" p3 "a" "s" p4

p5 "l" p6 "a" "s" p7 p8 "")

(setq ss (ssadd (entlast) ss))

(while (>= n 1)

(setq pt1 p8)

(setq p8 (polar pt1 ag1 (* sc 25.00)))

(command "copy" "l" "" pt1 p8)

(setq ss (ssadd (entlast) ss))

(setq n (- n 1))

);while end

(command "pedit" "l" "j" ss "" "" )

(setvar "osmode" os)(setvar "blipmode" bl)

(prin1))

0 Comments
제목