고객서비스

  • 프로그램다운로드
  • 팻치다운로드
  • 인증코드신청
  • 아키오피스자료실
  • 아키오피스강좌
  • 아키오피스동영상강좌
  • FAQ
  • FAQ

질문과답변
제목 [리습]지난번 offset 답장에 대하여...
작성자 허묘분 분류 CAD관련
CAD제품 및 버전 운영체제
첨부파일
지난번 offset에 대한 친절한 답장 감사드립니다. 그런데... 문제가 생겼어요!!! 지난번 12월 9일자 답장에서 써주신 (setq angk (angle (cadr pntA) (cadr pntB))) 로 했더니, 첫번째 선의 클릭 위치와 두번째 선의 클릭 위치에 따라 offset선의 위치 또한 달라지더군요... 아, 이럴수가... 저는 두 평행한 선 사이의 절대값으로의 offset을 원합니다... 흑흑... 다시 제가 지난번 고쳐주신대로 짠 것을 올릴테니 도와주세요... ; 도로에 면한 대지선 결정 (defun dtr (a) (* pi (/ a 180.0))) (defun C:SITE (/ os ent1 ent2 ent3 Alist Blist sp1 ep1 sp2 ep2 ang1 angk temp_p1 temp_p2 per_p1 per_p2 dist river offp1 half1 half2 offp2 offp3 q:layer q:color q:ltype) (setvar "CMDECHO" 0) (setq q:layer (getvar "clayer")) (setq q:color (getvar "cecolor")) (setq q:ltype (getvar "celtype")) (if (tblsearch "layer" "site") (setvar "clayer" "site") (command ".layer" "m" "site" "") ) (setvar "cecolor" "red") ;시스템 변수를 사용해 색깔을 빨간색으로 (setvar "celtype" "center") ;시스템 변수를 사용해 라인 타입을 center로 (if (setq ent1 (entsel "\n>> 대지선을 선택하세요: ")) (if (setq ent2 (entsel "\n>> 반대편 길을 선택하세요: ")) (progn (setq Alist (entget (car ent1)) Blist (entget (car ent2)) angk (angle (cadr ent1) (cadr ent2)) ;이것은 ent1과 ent2의 엔티티 리스트중 두번째 요소인 엔티티 타입인 "line"을 나타내는 것인가요? sp1 (cdr (assoc 10 Alist)) ep1 (cdr (assoc 11 Alist)) sp2 (cdr (assoc 10 Blist)) ep2 (cdr (assoc 11 Blist)) ang1 (angle sp1 ep1) temp_p1 (polar sp1 (+ ang1 (dtr 90)) 10.0) temp_p2 (polar ep1 (+ ang1 (dtr 90)) 10.0) per_p1 (inters sp2 ep2 sp1 temp_p1 nil) per_p2 (inters sp2 ep2 ep1 temp_p2 nil) dist (distance sp1 per_p1) ) (if (>= dist 4000) (command "line" sp1 ep1 "") ;4m이상이면 대지선이 건축선 (progn (setq river (getstring "\n>>도로의 끝에 강이나 철도등이 있습니까? :")) (if (or (= river "Y") (= river "y")) (progn (setq offp1 (polar sp2 (+ angk (dtr 180)) 4000)) (command "offset" 4000 ent2 offp1 "") (setq ent3 (entlast)) ; offset으로 생긴 선을 ent3 (command "change" ent3 "" "p" "la" "site" "") ;ent3의 레이어 site로 변경 (command "chprop" ent3 "" "c" "red" "") ; ent3의 색깔을 빨간색으로 변경 ) ; 강이나 철도가 존재할 경우 (progn (setq half1 (polar sp2 (+ angk (dtr 180)) (/ dist 2))) ; 두선사이의 중앙점 half1 (setq half2 (polar ep2 (+ angk (dtr 180)) (/ dist 2))) ; 두선사이의 중앙점 half2 (setq offp2 (polar half1 (+ angk (dtr 180)) 2000)) ; half1에서 ent1 방향으로 2m만큼 떨어진 점 offp2 (setq offp3 (polar half2 (+ angk (dtr 180)) 2000)) ; half2에서 ent2 방향으로 2m만큼 떨어진 점 offp3 (command "line" offp2 offp3 "") ; offp2와 offp3를 연결하는 선 그리기. ) ; 강이나 철도가 존재하지 않을 경우 ) ; if에 관련된 괄호 ) ; progn에 관련된 괄호 ) ; if에 관련된 괄호 ) ;progn에 관련된 괄호 (princ "\n.. 길이 선택되지 않았습니다.") ; 반대편 길을 선택하지 않았을 경우 ) ; if에 관련된 괄호 (princ "\n.. 대지선이 선택되지 않았습니다.") ; 대지선을 선택하지 않았을 경우 ) ; if에 관련된 괄호 (setvar "cecolor" q:color) ; 원래의 색깔로... (setvar "clayer" q:layer) ; 원래의 레이어로... (setvar "celtype" q:ltype) ; 원래의 라인 타입으로... (princ) ) ; defun에 관련된 괄호 (defun c:s(/ os ent1 ent2 ent3 Alist Blist sp1 ep1 sp2 ep2 ang1 angk temp_p1 temp_p2 per_p1 per_p2 dist river offp1 half1 half2 offp2 offp3 q:layer q:color q:ltype) (c:site)) (princ "\n\tC:SITE loaded. Start command with SITE or S")

의견(1)

김남갑 1998-12-28
> 허묘분님 글... > 지난번 offset에 대한 친절한 답장 감사드립니다. > 그런데... 문제가 생겼어요!!! > > 지난번 12월 9일자 답장에서 써주신 > (setq angk (angle (cadr pntA) (cadr pntB))) > 로 했더니, 첫번째 선의 클릭 위치와 두번째 선의 클릭 위치에 따라 offset선의 위치 또한 달라지더군요... > 아, 이럴수가... > 저는 두 평행한 선 사이의 절대값으로의 offset을 원합니다... > 흑흑... > > 다시 제가 지난번 고쳐주신대로 짠 것을 올릴테니 도와주세요... > > ; 도로에 면한 대지선 결정 > > (defun dtr (a) (* pi (/ a 180.0))) > > (defun C:SITE (/ os ent1 ent2 ent3 Alist Blist sp1 ep1 sp2 ep2 ang1 angk temp_p1 temp_p2 per_p1 per_p2 dist river offp1 half1 half2 offp2 offp3 q:layer q:color q:ltype) > (setvar "CMDECHO" 0) > (setq q:layer (getvar "clayer")) > (setq q:color (getvar "cecolor")) > (setq q:ltype (getvar "celtype")) > (if > (tblsearch "layer" "site") > (setvar "clayer" "site") > (command ".layer" "m" "site" "") > ) > (setvar "cecolor" "red") ;시스템 변수를 사용해 색깔을 빨간색으로 > (setvar "celtype" "center") ;시스템 변수를 사용해 라인 타입을 center로 > (if > (setq ent1 (entsel "\n>> 대지선을 선택하세요: ")) > (if > (setq ent2 (entsel "\n>> 반대편 길을 선택하세요: ")) > (progn > (setq Alist (entget (car ent1)) > Blist (entget (car ent2)) > angk (angle (cadr ent1) (cadr ent2)) ;이것은 ent1과 ent2의 엔티티 리스트중 두번째 요소인 엔티티 타입인 "line"을 나타내는 것인가요? > sp1 (cdr (assoc 10 Alist)) > ep1 (cdr (assoc 11 Alist)) > sp2 (cdr (assoc 10 Blist)) > ep2 (cdr (assoc 11 Blist)) > ang1 (angle sp1 ep1) > temp_p1 (polar sp1 (+ ang1 (dtr 90)) 10.0) > temp_p2 (polar ep1 (+ ang1 (dtr 90)) 10.0) > per_p1 (inters sp2 ep2 sp1 temp_p1 nil) > per_p2 (inters sp2 ep2 ep1 temp_p2 nil) > dist (distance sp1 per_p1) > ) > (if > (>= dist 4000) > (command "line" sp1 ep1 "") ;4m이상이면 대지선이 건축선 > (progn > (setq river (getstring "\n>>도로의 끝에 강이나 철도등이 있습니까? :")) > (if > (or (= river "Y") (= river "y")) > (progn > (setq offp1 (polar sp2 (+ angk (dtr 180)) 4000)) > (command "offset" 4000 ent2 offp1 "") > (setq ent3 (entlast)) ; offset으로 생긴 선을 ent3 > (command "change" ent3 "" "p" "la" "site" "") ;ent3의 레이어 site로 변경 > (command "chprop" ent3 "" "c" "red" "") ; ent3의 색깔을 빨간색으로 변경 > ) ; 강이나 철도가 존재할 경우 > (progn > (setq half1 (polar sp2 (+ angk (dtr 180)) (/ dist 2))) ; 두선사이의 중앙점 half1 > (setq half2 (polar ep2 (+ angk (dtr 180)) (/ dist 2))) ; 두선사이의 중앙점 half2 > (setq offp2 (polar half1 (+ angk (dtr 180)) 2000)) ; half1에서 ent1 방향으로 2m만큼 떨어진 점 offp2 > (setq offp3 (polar half2 (+ angk (dtr 180)) 2000)) ; half2에서 ent2 방향으로 2m만큼 떨어진 점 offp3 > (command "line" offp2 offp3 "") ; offp2와 offp3를 연결하는 선 그리기. > ) ; 강이나 철도가 존재하지 않을 경우 > ) ; if에 관련된 괄호 > ) ; progn에 관련된 괄호 > ) ; if에 관련된 괄호 > ) ;progn에 관련된 괄호 > (princ "\n.. 길이 선택되지 않았습니다.") ; 반대편 길을 선택하지 않았을 경우 > ) ; if에 관련된 괄호 > (princ "\n.. 대지선이 선택되지 않았습니다.") ; 대지선을 선택하지 않았을 경우 > ) ; if에 관련된 괄호 > (setvar "cecolor" q:color) ; 원래의 색깔로... > (setvar "clayer" q:layer) ; 원래의 레이어로... > (setvar "celtype" q:ltype) ; 원래의 라인 타입으로... > (princ) > ) ; defun에 관련된 괄호 > > (defun c:s(/ os ent1 ent2 ent3 Alist Blist sp1 ep1 sp2 ep2 ang1 angk temp_p1 temp_p2 per_p1 per_p2 dist river offp1 half1 half2 offp2 offp3 q:layer q:color q:ltype) (c:site)) > (princ "\n\tC:SITE loaded. Start command with SITE or S") - - - - - - - - - - - - - - - - - - - - - 마티.. 김남갑입니다. 위의 내용으로는 어떤것을 원하는지 의도를 알수가 없습니다. DWG화일을 함께 보내주시거나, 그림으로 원하는 작업을 보내주시면 제가 다시 답변해 드리겠습니다. 마티..
묻고답하기
번호 분류 제목 글쓴이 등록일 조회수
18 CAD관련 누구 재건축에 필요한 서류 아세요~~~? (1) 김민주 1998-12-29 14234
17 CAD관련 [질문] InerCAD 사용중에 안되는 부분 (2) 김경용 1998-12-27 15230
16 CAD관련 이너캐드 (1) 나석찬 1998-12-21 14121
15 CAD관련 [리습]지난번 offset 답장에 대하여... (1) 허묘분 1998-12-14 15875
14 CAD관련 이너캐드 (1) 나석찬 1998-12-09 15906
13 CAD관련 [리습]offset 다시질문!! & entity정보에 ... (1) 허묘분 1998-12-08 18850
12 CAD관련 리습에서 ucs변경을 쉽게할 수 없나요? (1) 김마리 1998-12-08 16622
11 CAD관련 inercad로 고은글 5.0은 볼수 없나요 (1) 윤지영 1998-12-08 19710
10 CAD관련 [질문]리습에서 offset의 방향에 대하여... (1) 허묘분 1998-12-08 14232
9 CAD관련 CAD R14에서 R12로 save하고자할때 font변 ... (2) 남석우 1998-12-07 12967