답장이 늦어 죄성합니다
허나 늦을만한 이유가 있었습니다.
님이 올려주신 자료 어제 올리자마자 바로 받았습니다 그래서 함 사용해봤습니다
허나 저의 무지라할까? 돼지않았습니다 여태껏..이제껏..ㅡㅡ?
왜 그런현상이?.. 어제부터 제가 지금껏 시도해본 내용을 적어보겟습니다
님이 올리신 자료엔 RCHSP.DCL RCHSPS.DCL FAR01.SLB RCHSP.LSP RCHSS.LSP
요렇게 다섯개가 있었습니다
그래서 평소 리습 사용하듯 APPLOAD로 불러서 그에 맞는 명령어를 써가면서
해봤습니다 RCHSP 그리구 RCHSP 이렇게 말이죠..
Command: AP
APPLOAD RCHSP.LSP successfully loaded.
Command:
RCHSP.LSP Loaded !
Copyright Far East Engineering Corporation 1994
Command:
Command: RCHSP
; error: quit / exit abort <===왜그럴까여?
그리구
Command: AP
APPLOAD RCHSS.LSP successfully loaded.
Command:
RCHSS.LSP Loaded !
Copyright (C) Far East Engineering Corporation. 1993-4
Command:
Command: RCHSS
; error: incorrect object to bind: T <=====?
그래서 ACAD 디렉토리의 SUPPORT방에 LSP와DCL 을 넣고 캐드 다시 실행한담
Command: (ROAD “RCHSS.LSP”)
; error: no function definition: ROAD 이렇게만 나옵니다
허나DCL파일(처음봄)이란게 있더라구여 그래서 그게 키포인트가 아닐까싶어
APPLOAD 방식으로 불러올려구하다 DCL은 않돼더군요.. 그래서 게시판에서
알아볼려구 dcl 과 SLB 검색해보니 3페이지그리구 1페이지 나오더군요.. 하나하나 정독을
2번 많은것은 5번했습니다 제가 요 게시판에서 얻은건
DCL=Dialog Control Language
AUTOLISP을 이용할때 대화상자를 만드는 역활
C언어로 만듬
BASE.DCL 파일은 중요한파일
그리구, “시삽” 이라는분 캐드 꽉쥐고 있는분 확실함! 뭐하는분인쥐? 나이는?성별? 궁금..?
등등.. 이런내용이었습니다
너무 주서없이 그리구 뭔가 알맹이가 빠진느낌입니다..
아참! 님께서 DCL 화일과 SLB 화일 디렉토리 수정하랬는데.. 어떻게 하는지 몰라 수정 못했습니다
LISP에서 할줄아는건 나이 보내준 리습 명령어 고치는거 그리구 쓰는거(아니 이젠 쓰지두 못하네여..)
어떻게든 해서든 님을 귀챦게 하지 않으려 했는데 또 이렇게 돼었군요..
간략히 말하자면 님… 사용법을 저같은 리습 초보자가 알아듣기 쉽게 설명좀해주세여 하나하나 요것저것 꼭꼭찝어..
그럼 이만 물러가 보겠습니다..
읽어 주셔서 감사합니다
즐겁고 활기찬 월요일이 돼세여~~
PS)올린 파일은 님께서 올려주신 파일입니다
확장자 lsp화일(두갠지세갠지?) 내용을 메모장으로 열어보면..
c:/sdt/….처럼 디렉토리명이 쭈욱 적혀있는게
몇개 있을겁니다….
님이 받으신 화일을 찾기 쉬운디렉토리에 풀어놓은후
(저는 c:sdt에 풀어놓고 test했습니다.)
리습 내용을 그 디렉토리로 변경하시면 됩니다..
(가 아니라 /입니다..조심)
어제 집에서 test해봤는데 잘 되던데요…ㅡㅡ
지금은 회사라 어케 테스트해볼 방법이 없네요…
한번해보겠습니다~
인사는 나중에 하도록 하져..^^
( defun c:/rchss(/ osmd blmd clay
g h rf t C Boss_d1 Boss_d2 Ds Dh Dc Dp Do boss_type boss_row )
( SETQ osmd (GETVAR “OSMODE”)
blmd (GETVAR “BLIPMODE”)
clay (GETVAR “CLAYER”)
)
( SETVAR “OSMODE” 0 )
( SETVAR “BLIPMODE” 0 )
( SETVAR “CMDECHO” 0 )
( SETQ sp_list ( list
‘( “RS25” 0.8 3.2 6.8 0.3 2.8 2.7 2.4 6.4 6.350 3.30 )
‘( “RS35” 1.2 4.8 10.1 0.4 4.3 4.1 3.8 10.1 9.525 5.08 )
‘( “RS41” 1.6 6.4 13.5 0.5 5.8 5.8 5.8 14.4 12.700 7.77 )
‘( “RS40” 1.6 6.4 13.5 0.5 7.2 7.8 6.5 14.4 12.700 7.95 )
‘( “RS50” 2.0 7.9 16.9 0.6 8.7 8.4 7.9 18.1 15.875 10.16 )
‘( “RS60” 2.4 9.5 20.3 0.8 11.7 11.3 10.6 22.8 19.050 11.91 )
‘( “RS80” 3.2 12.7 27.0 1.0 14.6 14.1 13.3 29.3 25.400 15.88 )
‘( “RS100” 4.0 15.9 33.8 1.3 17.6 17.0 16.1 35.8 31.750 19.05 )
‘( “RS120” 4.8 19.0 40.5 1.5 23.5 22.7 21.5 45.4 38.100 22.23 )
‘( “RS140” 5.6 22.2 47.3 1.8 23.5 22.7 21.5 48.9 44.450 25.40 )
‘( “RS160” 6.4 25.4 54.0 2.0 29.4 28.4 27.0 58.5 50.800 28.58 )
‘( “RS200” 7.9 31.8 67.5 2.5 35.3 34.1 32.5 71.6 63.500 39.68 )
‘( “RS240” 9.5 38.1 81.0 3.0 44.1 42.7 40.7 87.8 76.200 47.63 )
)
)
( SETQ ch-att (list “RS25 ” “RS35 ” “RS41 ” “RS40 ” “RS50 ” “RS60 ” “RS80 “
“RS100 ” “RS120 ” “RS140 ” “RS160 ” “RS200 ” “RS240 ” ))
( SETQ defult 0 tnumber 5 boss_row 1
hublen 2.8 Ds 1.0 boss_type 2 bossdia 1.0 )
( setq dcl_id (load_dialog “c:/sprocket/rchss.dcl” )) <== 수정
( if (not (new_dialog “sprocket” dcl_id)) (exit))
( start_list “sp_list”)
( mapcar ‘add_list ch-att )
( end_list )
( setq x (dimx_tile “rchss”)
y (dimy_tile “rchss”))
( start_image “rchss”)
( slide_image 0 0 x y “FAR01(sp02)” )
( end_image )
( setq ch-sel (nth 0 ch-att ))
( set_tile “key1” ch-sel ) ; >> roller chain number <<
( set_tile “key2” “2.8” ) ; >> boss width <<
( set_tile “key3” “5” ) ; >> teeth number <<
( set_tile “key5” “1” ) ; >> sprocket row <<
( set_tile “key6” “1.0” ) ; >> Boss dia. <<
( setq ch-sel “1.0”) ; >> shaft diameter <<
( set_tile “key4” ch-sel )
( set_tile “msg” “Copyright (C) Far East Engineering Corporation.”)
( action_tile “key2” “( setq hublen (atof $value))” )
( action_tile “key3” “( setq tnumber (atoi $value))” )
( action_tile “key4” “( setq Ds (atof $value)) ” )
( action_tile “key5” “( setq boss_row (atoi $value)) ” )
( action_tile “key6” “( setq bossdia (atof $value)) ” )
( action_tile “sp_list” “(splist)” )
( action_tile “hub” “( hubtype )” )
( action_tile “accept” “(done_dialog 1)” )
( action_tile “cancel” “(setq ch-sel nil) (done_dialog 0)” )
( start_dialog )
( unload_dialog dcl_id )
( SETQ number tnumber
pitch (nth 9 (nth defult sp_list))
g (nth 1 (nth defult sp_list))
h (nth 2 (nth defult sp_list))
rf (nth 4 (nth defult sp_list))
C (nth 8 (nth defult sp_list))
Dr (nth 10 (nth defult sp_list))
)
( COND ((= boss_row 1) (SETQ t (nth 5 (nth defult sp_list))))
((OR (= boss_row 2 ) (= boss_row 3))
(SETQ t (nth 6 (nth defult sp_list))))
((> boss_row 3) (SETQ t (nth 7 (nth defult sp_list))))
)
( SETQ pi 3.1415926
an (/ pi 180.0)
an_1 (* (/ 180.0 number) (/ pi 180.0))
an_2 (* an_1 2.0)
Dp (/ pitch (sin an_1))
Do (* pitch (+ 0.6 (/ (cos an_1) (sin an_1) )))
; Dh (- (* pitch (- (/ (cos an_1) (sin an_1)) 1)) 0.76)
Dh bossdia
)
( IF (= number (* (/ number 2) 2))
( SETQ Dc (- Dp Dr))
( SETQ Dc (- (* Dp (cos (/ an_2 number))) Dr))
)
(if (= boss_type 1) (setq boss_d1 0.0 boss_d2 0.0))
(if (= boss_type 2)
( setq temp (- hublen (+ t (* C (- boss_row 1))))
boss_d1 0.0
boss_d2 temp )
)
(if (= boss_type 3)
( setq temp (- hublen (+ t (* C (- boss_row 1))))
boss_d1 (/ temp 2.0)
boss_d2 (/ temp 2.0) )
)
( if (/= ch-sel nil)
( CH_DRAW g h rf t C Boss_d1 Boss_d2 Ds Dh Dc Dp Do boss_type boss_row )
( princ )
)
( SETVAR “OSMODE” osmd )
( SETVAR “BLIPMODE” blmd )
( SETVAR “CLAYER” clay )
( REDRAW )
( PRINC )
)
(defun hubtype(/ x y)
( if (not (new_dialog “stype” dcl_id)) (exit))
( setq x (dimx_tile “stype1”)
y (dimy_tile “stype1”))
( start_image “stype1”)
( slide_image 0 0 x y “c:/sprocket/FAR01(sp01)” ) <===수정
( end_image )
( setq x (dimx_tile “stype2”)
y (dimy_tile “stype2”))
( start_image “stype2”)
( slide_image 0 0 x y “c:/sprocket/FAR01(sp02)” ) <===수정
( end_image )
( setq x (dimx_tile “stype3”)
y (dimy_tile “stype3”))
( start_image “stype3”)
( slide_image 0 0 x y “c:/sprocket/FAR01(sp03)” ) <===수정
( end_image )
( action_tile “stype4” “(setq boss_type 1)” )
( action_tile “stype5” “(setq boss_type 2)” )
( action_tile “stype6” “(setq boss_type 3)” )
( action_tile “accept” “(done_dialog 1)” )
( action_tile “cancel” “(done_dialog 0)” )
( start_dialog )
)
( defun splist(/ temp)
( setq ch-sel (nth (atoi $value) ch-att ))
( set_tile “key1” ch-sel)
( setq ii 0 )
( repeat (length ch-att)
( if (= ch-sel (nth ii ch-att))
(setq defult ii)
)
( setq ii (+ ii 1))
) ; >> repeat end <<
)
; g h rf t C Boss_d1 Boss_d2 Ds Dh Dc Dp Do boss_type boss_row
; >> ROLLER CHAIN SPROCKET DRAWING SUB PROGRAM <<
; ===============================================
( DEFUN CH_DRAW( g h rf t C Boss_d1 Boss_d2 Ds
Dh Dc Dp Do boss_type boss_row
/ pt01 pt02 pt03 pt04 pt05 pt06 pt07 pt08 pt09 pt10
pt11 pt12 pt13 pt14 pt15 pt16 pt17 pt18 pt19 pt20
pt21 pt22 pt23 pt24 pt25 pt26 pt27 pt28 pt29 pt30
po01 po02 po03 po04 po05 po06 po07 po08 po09 po10
po11 po12 po13 po14 po15 po16 po17 po18 po19 po20
po21 po22 po23 po24 po25 po26 po27 po28 po29 po30
ptt an0 an1 an2 an3 Rs count )
( SETQ pt03 (GETPOINT “n PICK CHAIN SPROCKET INSERT POINT …”)
ptt (GETPOINT pt03 “n CHAIN SPROCKET ROTATION ANGLE POINT … “)
)
; >> angle setting <<
( SETQ an0 (ANGLE pt03 ptt)
an1 (+ (ANGLE pt03 ptt) (* 3.1415926 0.5))
an2 (+ (ANGLE pt03 ptt) (* 3.1415926 1.0))
an3 (+ (ANGLE pt03 ptt) (* 3.1415926 1.5))
Rc (+ (/ g 2.0) (/ (* h h) (* 2.0 g)) )
)
; >> drawing point setting <<
( SETQ pt01 (POLAR pt03 an2 t)
pt04 (POLAR pt03 an0 Boss_d1)
pt05 (POLAR pt04 an0 t)
pt07 (POLAR pt03 an1 (/ Ds 2.0))
pt09 (POLAR pt03 an1 (/ Dh 2.0))
pt21 (POLAR pt04 an2 (/ t 2.0))
po21 (POLAR pt21 an3 (/ Dp 2.0))
pt21 (POLAR PT21 an1 (/ Dp 2.0))
po07 (POLAR pt03 an3 (/ Ds 2.0))
po09 (POLAR pt03 an3 (/ Dh 2.0))
count 1
)
( REPEAT boss_row
( SETQ pt29 (POLAR pt04 an1 (/ Dh 2.0))
pt30 (POLAR pt05 an1 (/ Dh 2.0))
pt17 (POLAR pt04 an1 (/ Dc 2.0))
pt18 (POLAR pt05 an1 (/ Dc 2.0))
pt23 (POLAR pt04 an1 (/ Do 2.0))
pt26 (POLAR pt05 an1 (/ Do 2.0))
pt19 (POLAR pt23 an3 h)
pt20 (POLAR pt26 an3 h)
pt24 (POLAR pt23 an0 g)
pt25 (POLAR pt26 an2 g)
pt27 (POLAR pt19 an0 Rc)
pt28 (POLAR pt20 an2 Rc)
pt11 (POLAR pt29 an2 rf)
pt12 (POLAR pt29 an1 rf)
pt13 (POLAR pt12 an2 rf)
pt14 (POLAR pt30 an1 rf)
pt15 (POLAR pt30 an0 rf)
pt16 (POLAR pt14 an0 rf)
)
( SETQ po29 (POLAR pt04 an3 (/ Dh 2.0))
po30 (POLAR pt05 an3 (/ Dh 2.0))
po17 (POLAR pt04 an3 (/ Dc 2.0))
po18 (POLAR pt05 an3 (/ Dc 2.0))
po23 (POLAR pt04 an3 (/ Do 2.0))
po26 (POLAR pt05 an3 (/ Do 2.0))
po19 (POLAR po23 an1 h)
po20 (POLAR po26 an1 h)
po24 (POLAR po23 an0 g)
po25 (POLAR po26 an2 g)
po27 (POLAR po19 an0 Rc)
po28 (POLAR po20 an2 Rc)
po11 (POLAR po29 an2 rf)
po12 (POLAR po29 an3 rf)
po13 (POLAR po12 an2 rf)
po14 (POLAR po30 an3 rf)
po15 (POLAR po30 an0 rf)
po16 (POLAR po14 an0 rf)
po01 (POLAR pt04 an0 (/ t 2.0))
po02 (POLAR po01 an3 (+ (/ Do 2.0) t ))
po01 (POLAR po01 an1 (+ (/ Do 2.0) t ))
)
( COMMAND “LAYER” “M” “1” “” “LINE” po01 po02 “” )
( COMMAND “LAYER” “M” “3” “” )
( IF (AND (= count 1) (= boss_type 3))
( COMMAND “LINE” pt11 pt09 po09 po11 “” )
)
( IF (= boss_type 1)
( COMMAND “LINE” pt17 pt18 “” “LINE” po17 po18 “”
“LINE” pt19 po19 “” “LINE” pt20 po20 “” )
)
( IF (OR (= boss_type 3) (AND (/= count 1) (= boss_type 2 )))
( COMMAND “ARC” pt11 “C” pt13 pt12 “LINE” pt12 pt19 “”
“ARC” po12 “C” po13 po11 “LINE” po12 po19 “” )
)
( IF (AND (= count 1) (= boss_type 2 ))
( COMMAND “LINE” pt19 po19 “” )
)
( IF (/= boss_type 1)
( COMMAND “ARC” pt14 “C” pt16 pt15 “LINE” pt14 pt20 “”
“ARC” po15 “C” po16 po14 “LINE” po14 po20 “” )
)
( COMMAND “ARC” pt24 “C” pt27 pt19 “ARC” pt20 “C” pt28 pt25
“LINE” pt17 pt18 “” “LINE” pt24 pt25 “”
“ARC” po19 “C” po27 po24 “ARC” po25 “C” po28 po20
“LINE” po17 po18 “” “LINE” po24 po25 “” )
( IF (AND (/= boss_type 1) (/= count 1))
( COMMAND “LINE” pt11 ptt4 “” “LINE” po11 ptt5 “” )
)
( SETQ pt04 (POLAR pt04 an0 C)
pt05 (POLAR pt05 an0 C)
ptt4 pt15 ptt5 po15
count (+ count 1)
)
) ; >> REPEAT END <<
( SETQ pt04 (POLAR pt04 an2 C)
pt05 (POLAR pt05 an2 C)
pt06 (POLAR pt05 an0 Boss_d2)
pt08 (POLAR pt06 an1 (/ Ds 2.0))
pt10 (POLAR pt06 an1 (/ Dh 2.0))
po08 (POLAR pt06 an3 (/ Ds 2.0))
po10 (POLAR pt06 an3 (/ Dh 2.0))
pt22 (POLAR pt05 an0 (/ t 2.0))
po22 (POLAR pt22 an3 (/ Dp 2.0))
pt22 (POLAR pt22 an1 (/ Dp 2.0))
)
( IF (/= boss_type 1) ( COMMAND “LINE” pt15 pt10 po10 po15 “” ) )
( COMMAND “LINE” pt07 pt08 “” “LINE” po07 po08 “” )
( SETQ pt01 (POLAR pt03 an2 t)
pt02 (POLAR pt06 an0 t)
)
( COMMAND “LAYER” “M” “1” “” “LINE” pt01 pt02 “”
“LINE” pt21 pt22 “” “LINE” po21 po22 “” )
)
; ========================
; >> Loading Message <<
; ========================
( PRINC “n RCHSS.LSP Loaded ! “)
( PRINC “n Copyright (C) Far East Engineering Corporation. 1993-4”)
( PRINC )
제가 수정한 곳은 보시다시피 4군데 입니다
압축을 푼 모든파일은 c:sprocket파일(lsp,dcl.slb)
요렇게 위치시켯거던여..
그리구 aplload 시키구 커멘드에 rchss 하면 않됩니다 요렇게..
Command: ap
APPLOAD rchss.lsp successfully loaded.
Command:
RCHSS.LSP Loaded !
Copyright (C) Far East Engineering Corporation. 1993-4
Command:
Command: rchss
Unknown command “RCHSS”. Press F1 for help.
정말 알야겠는데 미치겠습니다~ 도와주십쇼
역시나 컴이 후져서 test는 못해보구요..
( defun c:/rchss(/ osmd blmd clay
이렇게 되있는걸
( defun c:rchss(/ osmd blmd clay
요렇게…./ 가 들어가 있네요..지우세요..
님께서 지적해주신 대로 / 를 빼고 실행했습니다
그랬더니 rchsp 명령어는 먹더라구여..네모난 박스와 함께^^
그래서 드뎌 됐구나 하구 들뜬마음으로 데이터 값을 셋팅한후 drawing 버튼을
누렀습니다 그랬더니 않돼더라구여..ㅡㅡ;
; error: no function definition: TAN<==요런 메시지만 뜨고..
그리구 rchss 는아까랑 똑같구여..
; error: incorrect object to bind: T
정말 이런말 까진 않하려구 했는데 제 자신이 너무 경멸스럽습니다 그리구
환장하겠습니다 도와주십쇼..
함수 중 “t”를 모두 다른 이름으로 대치(replace) 시켜보세요.
아마 사용자 중 대부분이 “t”를 다른 함수로 사용하고 있어서
문제가 발생한 것으로 보입니다. 저는 “t”->”kyh123″으로 변경하니,
전혀 문제 없이 실행됩니다. 끝.
제가 이해를 잘못했나여?
프로그램에 나와있는 알파벳 t 를 다른 문자로 바꿀려면 꾀걸릴것 같은데..
정말 제가 이해 한대루 해야하나여?
“도구/autolisp/visual lisp편집기”에 들어가서 ‘rchss.lsp’를 open 하고..
“serch/replace”를 클릭하면, ‘find what’ 란에 “t”를 입력하고, …
아휴,,,
전화주세요. 061-798-5217 권영호
전 안돼나봅니다
인생에 회의를 느끼네여..ehfeorkfl mm
파일 위치와 기타..특별히 주의해야할 점도여..
죄성해여 감사합니다
죄송합니다. 열심히 가려켜 드리지 못해서…
참고로 rchsp.lsp는 저도 안됨니다.
단지 rchss.lsp 만…
고맙습니다 님께서 올려주신 rchss 는 돼는군여..^^
근데 제가 원하는게 아니네여..스프라켓을 정면에서 본걸 원하는데..
동그랗게 말이져.. 근데 이게 rchss 같던데 아깐 거기 가지 갔었는데..
어디까지냐며는여 박스 뜨고 체인 번호 찍고 옆에 샘플 그림하나 나와있고..
헌데 DRAWING 만 눌르면 이상한 에러 메시지 뜨고.. 이렇게 않돼서 이제 까지 이러구 있습니다
근데 .. 중수님이랑 하수님 서로 아는사이?
그럼 고수님은 뭘하시나? 이때 않도와주고..ㅎㅎ
slb sld