게시물 79건
   
[CAD] 라인그리기 캐드기본명령어 궁금증
글쓴이 : 에스텍 날짜 : 2024-05-09 (목) 21:20 조회 : 3804



오토캐드 기본명령어에서

1번의 경우에 30도 각도선을 그릴때 ,,  @ <  요걸로 각도와 길이를 지정해서 선분을 그릴수가 있는데..

2번의 경우처럼  선이 그려져있을때.. 빨간선에 대해서 특정각도만큼 그리는..
캐드기본명령어 방법이 있을까요?

로테이션명령어로 각도를 줘서 선분을 그릴수는 있는데, 이럴경우 선분의 길이까지는 정할수가 없어서.

혹시 기본명령어로 할수있는 방법 아시는 분!! 조언을 구해봅니다요

에스텍 님의 묻고답하기 최신글 [더보기]


관리자 2024-05-10 (금) 08:42
기본 명령어는 없을 것 같네요.

UCS를 선에 맞게 돌려놓으면
마치 선이 수평일때와 같이 사용할 수 있습니다.

UCS원상복귀는 
명령: UCS   -> W

     
     
에스텍 2024-05-10 (금) 09:01
뭔가 이런거 보면..
캐드 자체에서 편리한 기능(?)에 대한 업그레이드는 
부족한것 같아요 ㅎㅎㅎ


기계에서 축틀기랑 비슷한거네요 ㅎㅎㅎ
감사합니다!!


관리자 2024-05-10 (금) 10:53
;; 명령어: LANG
...

이 코드를 사용해 보세요.
명령: LANG 는 수정하셔도 됩니다.
     
     
에스텍 2024-05-10 (금) 18:24


LANG을 사용해서 그려보았는데요!

흰색선분의 1번위치를 클릭했을때 생성되는 선분과
2번위치를 클릭했을때 생성되는 선인데..

뭔가 좀 다릅니당!
관리자 2024-05-10 (금) 18:34
;; 명령어: LANG
(defun c:LANG (/ ang len ent obj pts idx sp ep)
  (or #ang# (setq #ang# 30.0))
  (or #len# (setq #len# 100.0))
  (setq ang (getreal (strcat "\n>> 각도 입력 <" (vl-princ-to-string #ang#) ">: ")))
  (if ang (setq #ang# ang) (setq ang #ang#))
  (setq len (getreal (strcat "\n>> 길이 입력 <" (vl-princ-to-string #len#) ">: ")))
  (if len (setq #len# len) (setq len #len#))
  (while (setq ent (entsel "\n>> 선 선택: "))
      (setq obj (vlax-ename->vla-object (car ent)))
      (if (/= (vlax-get obj 'ObjectName) "AcDbLine") (exit))
      (setq pts (list (vlax-get obj 'StartPoint) (vlax-get obj 'EndPoint)))
      (setq idx (vl-sort-i (mapcar '(lambda (p) (distance p (trans (cadr ent) 1 0))) pts) '<))
      (setq sp (nth (car idx) pts) ep (nth (cadr idx) pts))
      (entmake (list (cons 0 "LINE") (cons 10 sp) (cons 11 (polar sp (+ (angle sp ep) (dtr ang)) len)) (cons 62 2)))
  )
  (princ)
)

코드 수정했습니다. 
     
     
에스텍 2024-05-13 (월) 10:28
감사합니다! ^^
이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.) ☞ 첨부파일
왼쪽의 글자를 입력하세요.