출력할때 쓰는 리습인데요…..
a1영역이 아닌 a3영역으로 설정하려 하는데
p1 (cdr (assoc 10 en))
sc (cdr (assoc 41 en)) d1 (* sc 841) d2 (* sc 594)
p2 (polar p1 0 d1) p2 (polar p2 (* 0.5 pi) d2)
sc (* sc 2) sc (rtos sc) sc (strcat “1=” sc)
에서 841, 594 만 420,297 로 바꾸니까
스케일만 작게 나오네요…..
영역 수정하려면 어느부분을 손대야 할까요>?
부기우기Lv.0
리습수정하려는데 영역설정이 안되네요 도와주세요…ㅜㅜ
공유
내용은 길 것 같지도 않은데 코드의 일부만 올리셧네요.
간단한 것은 수치를 바꾸면서 해보시면 되지만
조금 응용된 것은 원리를 먼저 파악해야 합니다.
다른분들도 이상태로는 정확한 조언을 주실수가 없읍니다.
;———————————————————————-
코드설명만 해드리죠
p1 (cdr (assoc 10 en)) 에서 10번은 보통 시작점입니다.
도곽은 블록으로 만들므로 삽입점 입니다. – 보통은 좌측하단모서리가 됩니다.
sc (cdr (assoc 41 en)) 은 블록의 x 배율입니다.
42가 y 43이 z — 여기서는 x만을 이용햇다고 보시면 됩니다
d1 (* sc 841) d2 (* sc 594) — 도곽의 배율에 A1 용지의 가로치수인 841과 594를 곱하였으니
이 소스는 A1용지를 기준으로 했다는 것을 알수 있습니다.
p2 (polar p1 0 d1) p2 (polar p2 (* 0.5 pi) d2) —- 이것은 도곽의 대각선점을 2번 계산한것입니다.
p1에서 d1만큼 0도 이동점을 구하고 d2만큼 90도로 이동
한번에 하려면 p2 (mapcar ‘+ p1 (list d1 d2 0)) 로 하시면 됩니다.
sc (* sc 2) — 여기가 문제죠 블록의 스케일과 거리를 구하고서 2배를 만들어 버린 것은 이해가 안됩니다.
그리고 이것을 sc (rtos sc) 문자로 바꾼 후 (strcat “1=” sc) 로 결합했으니
만약 도곽블록이 10배로 확대한 것이라면 “1=20″이라는 문자열이 sc란 변수안에 저장될 것입니다.
;———————————————————————-
님이 바꾸기 위해서 필요한것을 추정해 보면
맨먼저 A3 (420 297) 도곽블록을 새로 만드셔야 합니다.
두번째는 보여주지 않은 인쇄코드부분에서 대각점이 제대로 입력되는지와
마지막으로 스케일부분이 인쇄코드에 제대로 입력되는지를 확인하셔야 합니다.
;———————————————————————-
결론은 올리신 코드보다 더 많이 손대셔야 합니다.
;———————————————————————
퇴근한 후에 내용 추가 합니다. A3 (420 297) 도곽블록을 만들 필요가 없네요.
sc (* sc 2) — 이부분은 A1도곽을 A3용지에 출력하려는 것으로 보이네요.