2011년 11월 25일 금요일
(defun c:test()
(vl-load-com)
(setq fn(getvar "savename"));;savename현제파일의 경로와 이름을 저장한다.
(setq fd(vl-filename-directory fn));;filename에서 경로만을 취한다.(filename는 경로와 이름합치거)
(setq fdlist(vl-directory-files fd));;지정한 경로내의 파일의 이름 리스드를 만드다.
(setq file1(strcat fd (nth n fdlist)))
(princ file1)
(princ)
)
(vl-string->list 문자열);;문자열을 구성하는 각문자의 아스키 코드값을 리스트로 반환한다.
2011년 11월 17일 목요일
DIMTEDIT 치수선
프린터 ip 192.168.0.8
"C:\Program Files\Autodesk\AutoCAD 2012 - Korean\UserDataCache\"
2008
"C:\Program Files\AutoCAD 2008\UserDataCache\"
2002
"C:\Program Files\AutoCAD 2002\"
(A)...ABOVE >도면용어
(B)...BELOW >도면용어
VERIFY
연세현장 이과장(010 2548 3331
DELETEGHOST
TEMPOVERRIDES >cad cui (임시재지정)
dsettings >cad제도세팅창
PAUSE 입력대기 > auto lisp
WORKSPACELABEL
_WSCURRENT
*1 PIECES >도면용어
rememberfolders "0"
*EL.+VARIOUS >도명용어
*COLUMN ARRANGEMENT PLAN >도면용어
1) 높은버전에서 문제의 파일연다.
2) audit 명령을 실행한다.
3) purge 명령을 실행한다.
4) 낮은 버전의 .dxf로 저장을 한다.
5) 이 파일을 열고나서 다시 .dwg로 다시 저장을 한다.
VTENABLE =zoom속도
dsviewer(공중뷰)
CELTSCALE(선종류 축척)
JUSTIFYTEXT(정렬점변경)
vLLO 자물쇠 닫기
LUL 열기
LFR 선택만 동결
TJO 문자합치기
TTEE
LMA 레이어 일치
ART 문자정렬
VOL 선택한색만보이기
VEL 색택만보이기
-VIEW 뷰
DRH 해치를뒤로ㄷ
EDV
ESN
JU 문자정렬점변경
,2214,2125,2137,2146,
4411441
MVIEW >cad
VPORTS >cad
DIMANGULAR >cad 각도치수
*%%U밑줄 >cad
DTEXTED //TEXT BOX
*ELEVATION >도면용어
CTRL ; >EXCEL 날짜
SHIFT ; >excel시간
TODAY()
NOW()
CMDECHO 기본값1COMMAND함수동..
EXCEL SQRT(제곱근)
Gusset Plate >도면용어
Stiffener >도면용어
GIRT FRAMING ELEVATION >용어
T-BAR 11
BASE 1047
빔서프라이스 75&10
cmd 상에서 딧크조각 모음 defrag c:
pl60 >pl70(lotte)
reinit >pgp파일갱신
draworder >레이어순서 변경
"C:\Program Files\AutoCAD 2002\"
DIMBREAK 디맨션 치수 끊기
DIMASSOC "2" 연관치수 설정
visualStyles
GROUP 그룹작성및관리
PICKSTYLE 그룸켜고끄는 변수
속성문자
ATTDEF 작성
ATTMULTI 1
ATTIPE 1
ATTMODE 0끄기 1현제유지 2켜기
ATTDIA 대화상자 표시여부
BATTMAN 속성편집
CAD)TEXTTOFRONT 치수나 문자를 앞으로 가져온다.
CAD)PASTEBLOCK 불록으로 붙여넣기
CAD)chspase 배치로이동
CAD)wipeout >가리기
CAD) BOUNDARY 영역추출
CAD) VISRETAIN 외부참조 변수 초기값 "1"
CAD) OSMODE
0 없음
1 끝점
2 중간점
4 중심점
8 노드
16 사분점
32 교차점
64 삽입점
128 수직점
256 접선
512 근처점
1024 모든 객체 스냅을 지웁니다
2048 가상 교차점
4096 연장선
8192 평행
(●)
(■)
(▲)
(○)
(△)
(□)
CAD) CHPROP 선택개체 특성변경
cad) wipeout
CAD) DBLCLKEDIT 두번클릭으로 특성창 열기
excel)trim공백문자 제거
CAD) DWGPROPS
CAD)STATUS
CAD)TIME
CAD)DELOBJ(SWEEP의경로나 형상 원본의 삭제유무)
CAD)VISUALSTYLES
철골 )girth
A3(297x420mm)
A4(210x297mm)
DWG
http://idkay0.tistory.com/25
2011년 11월 9일 수요일
(DEFUN C:TEST()
(SETQ A1(SSGET))
(SETQ A2(SSNAME A1 0))
(SETQ A3(ENTGET A2))
(SETQ A4(ASSOC 1 A3))
(SETQ STR(CDR A4))
(SETQ FD(OPEN "D:/02_서브/good/TEST.TXT" "A"))
(SETQ C1(STRLEN STR))
(SETQ N 1)
(REPEAT C1
(SETQ C2(SUBSTR STR N 1))
(SETQ C3(LIST C2))
(PRINC C3 FD)
(SETQ N(+ N 1))
)
(CLOSE FD)
(PRINC)
)
;;;문자열을 분리중
;;;원하는것은 선택한 문자열을 원하는데로 분리해서 리스트로 묶어서
;;;파일에 쓰는것인데...막혔다.
(DEFUN C:TEST()
(SETQ A1(SSGET))
(FILE_W (STRING_R A1 0))
;(PRINC)
)
(DEFUN STRING_R(SELECTION N / ENT_NAME ENT ENT_CODE STR
SELECTION N)
;;;;;객체이름,객체정보 ,지정코드 내용,문자열,선택세트,숫자
(SETQ ENT_NAME (SSNAME SELECTION N))
(SETQ ENT(ENTGET ENT_NAME))
(SETQ ENT_CODE(ASSOC 1 ENT))
(SETQ STR(CDR ENT_CODE))
STR
)
;;;;;TEXT를 선택 넘겨받아서
(DEFUN FILE_W(STR / FILE_DIRECTORY STRING_LEN STRING_S N STR_LIST STR)
;;;;; 파일이름과 경로,문자열 길이,지정한위치의 문자,문자리스트,넘겨받은 문자열
(SETQ FILE_DIRECTORY(OPEN "C:/hello/Programming/lisp/TEST.TXT" "A"))
(SETQ STRING_LEN(STRLEN STR))
(SETQ N 1)
(REPEAT STRING_LEN
(SETQ STRING_S(SUBSTR STR N 1))
(SETQ STR_LIST(LIST STRING_S))
(PRINC STR_LIST FILE_DIRECTORY)
(SETQ N(+ N 1))
)
(CLOSE FILE_DIRECTORY)
(PRINC)
)
;;;C:\hello\Programming\lisp\
;;;"D:/02_서브/good/TEST.TXT"
;;;;함수단위를 나누어보았다.
2011년 11월 8일 화요일
;;;파일에서 읽어온문자를 도면의 글자와 대치해서 삽입
(defun c:ae(/ a1 a2 a3 num n a4 po1 tang ipt a5 text1 file_m);
(setq val1(getvar "dimscale"))
(setq val2(getvar "cmdecho"))
(setq val3(/ val1 2))
(setvar "cmdecho" 0)
(setq file_m(file_name))
(if (= file_m nil)
(setq file_m file_i)
(setq file_i file_m)
)
(prompt"\n 글자를 선택해주세요")
(setq a1(ssget '((0 . "text"))))
(setq num(sslength a1))
(setq n 0)
(repeat num
(setq a2(ssname a1 n))
(setq a3(entget a2))
(setq a4(assoc 1 a3))
(setq a5(cdr a4))
(setq po1(cdr(assoc 10 a3)))
(setq tang(cdr(assoc 50 a3)))
(setq ipt(polar po1 (+ tang (+ pi(/ pi 2))) val1))
(setq tang_t(* 180(/ tang pi)))
;;;----text의 삽입점과 회전추출----
;(setq text10(car(aaa a5)))
;;; (setq text1(itoa(cadr(aaa a5))))
;;; (setq text2(itoa(caddr(aaa a5))))
(setq text1(car(edwg_mark a5 file_m)))
;(setq text2(aaa a5))
; (setq textval(strcat text1 "x" text2))
(command "-text" ipt val3 tang_t text1)
(setq n(+ n 1))
)
(princ)
)
(DEFUN edwg_mark(a5 file_m / fd r1 r2 r3 r4 i);
(setq i 0)
(setq fd(open file_m "r"))
(if(= fd nil)
(alert "\n존재하지 않는파일입니다.")
)
(while (= i 0)
(setq r1(read-line fd))
(if (= r1 nil)
(progn
(setq r4 (list "000"))
(setq i 1)
)
(progn
(setq r2(read r1))
(setq r3(car r2))
)
)
(if (= r3 a5)
(progn
(setq r4(cdr r2))
(setq i 1)
)
)
)
(close fd)
r4
)
;basic도면의 부재 싸이즈를 txt파일로
(defun c:ab( / stp1 edp1 stp10 edp10 stp2 edp2 v_len1 v_len2 v_len3 fd file_m)
;;; stp~영역
;;; edp~영역
;;; v_len~선택영역교체용
;;; fd 파일포인터
;;; file_~파일이름
(setq var_osmode(getvar "osmode"))
(setvar "osmode" 33)
(prompt"\n한줄의 영역을 지정해주세요.")
(setq stp1(getpoint"\n시작점"))
(setq edp1(getcorner stp1 "\n두번째점"))
(prompt"\n문자열이 포함된 영역을 지정해주세요")
(setq stp10(getpoint"\n시작점"))
(setq edp10(getcorner stp10 "\n두번째점"))
(setq file_m(file_name))
(if (= file_m nil)
(setq file_m file_i)
(setq file_i file_m)
)
;;; 파일입력시 이전 입력값 을 쓴다.
(setvar "osmode" 0)
(setq v_len1(abs(- (cadr stp1)(cadr edp1))))
(setq v_len2(abs(- (cadr stp10)(cadr edp10))))
(setq v_len3(atoi(rtos(/ v_len2 v_len1)2 0)))
;(while (<= (abs(cadr stp1))(abs(cadr edp10)))
;(while (/= rl nil)
(repeat v_len3
(setq a1(ssget "w" stp1 edp1))
(if(/= a1 nil)
(progn
(setq fd(open file_m "a"))
(princ (basic_mark a1)fd)
(princ "\n" fd)
(close fd)
)
)
;;;선택영역에 텍스트가없으면 파일에 쓰지않음
(setq stp2(polar stp1 (+ pi(/ pi 2)) v_len1))
(setq edp2(polar edp1 (+ pi(/ pi 2)) v_len1))
(setq stp1 stp2
edp1 edp2)
)
(setvar "osmode" var_osmode)
(princ)
)
;;;text를 선택해서 파일로저장하는거
(defun basic_mark(a1 / num n a2 a3 a4 a5 b1 b2 b3 len_b1 len_b2 b6 b11 b22)
;;;a1~a5선택세트
;;;n 반복용
;;;len~ 길이를 이용한 정렬
;;;b~ 출력
; (setq a1(ssget "w" stp1 edp1))
(setq num(sslength a1))
(setq n 0)
(repeat 2
(setq a2(ssname a1 n))
(setq a3(entget a2))
(setq a4(assoc 1 a3))
(setq a5(cdr a4))
(if (= n 0)
(setq b1 a5)
(setq b2 a5)
)
(setq n(+ n 1))
)
(setq len_b1(strlen b1))
(setq len_b2(strlen b2))
;(setq b6 nil)
(if (> len_b1 len_b2)
(progn
(setq b6 b1)
(setq b1 b2)
(setq b2 b6)
)
)
(setq b11(strcat "\"" b1 "\""))
(setq b22(strcat "\"" b2 "\""))
(setq b3(list b11 b22))
)
;;;선택세트에서 문자열을 정리해서 리턴
피드 구독하기:
글
(
Atom
)