프로그램
캐드 분류

블럭삽입 리습좀 도와주세요

컨텐츠 정보

  • 125 조회
  • 4 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

두 점사이에 블럭을 나열하는 리습입니다.
처음에 잭을 넣고 그다음에는 거리에 따라 블럭이 나열되는 리습이고
다른 리습을 참고해서 만들었는데
어느부분이 잘못된건지 잘 모르겠습니다…
(defun c:FFFF()
  (setq osm (getvar "osmode"));onsnap 저장
  
  (setq p0(getpoint "점1(시작점) : n")) ;첫번째점
  (setq p00(getpoint "점2(끝작점) : n")) ;두번째점
  (setvar "osmode" 0) ;onsnap 해제
  (setq ang (angle p0 p00)) ;점 사이의 각도
  
  (setq ang00 (angle p00 p0)) ;jack 삽입을 위한 반대각도
  (setq p1(polar p0 ang 565)) ;단부 삽입점/버팀보 시작점
  (command "-layer" "s" "djack" "") 
  (command "-insert" "djack" p1 "1000″ "1000″ p0);잭 삽입
  (setq dis(distance p1 p00)) ;버팀보 사이의 거리
  (princ dis)
  (while (> dis 0)
    
    (setq t_ang (+ ang (/ pi 2))) ;블록 삽입을 위한 첫번째점에서90도 각도
    (setq p3  (polar p1 t_ang 10000)) ;90도 각도내에서 10000떨어진 점// 거리는 의미 없음 
    (if(>= dis 9800)
(progn
(setq block "d10″)
(setq dis2 10000)
(command "-layer" "s" "D-10M" "")
)
          (if(and(< dis 10000)(>= dis 4800))
  (progn
  (setq block "d5″)
  (setq dis2 5000)
  (command "-layer" "s" "d-5M" "")
  )
    (if(and(< dis 5000)(>= dis 3800))
    (progn
    (setq block "d4″)
    (setq dis2 4000)
    (command "-layer" "s" "d-4M" "")
    )
      (if(and(< dis 4000)(>= dis 1800))
                  (progn
      (setq block "d2″)
                  (setq dis2 2000)
      (command "-layer" "s" "d-2M" "")
      )
        (if(and(< dis 2000)(>= dis 800))
(progn
            (setq block "d1″)
(setq dis2 2000)
(command "-layer" "s" "d-1M" "")
)
             (if(and(< dis 1000)(>= dis 800))
  (progn
  (setq block "BS-1M")
  (setq dis2 1000)
  (command "-layer" "s" "BS-1M" "")
  )
    (if(and(< dis 1000)(>= dis 600))
    (progn
    (setq block "d-7″)
    (setq dis2 700)
    (command "-layer" "s" "d-0.7m" "")
    )
      (if(and(< dis 700)(>= dis 400))
      (progn
      (setq block "d-5″)
      (setq dis2 500)
      (command "-layer" "s" "d-0.5M" "")
    )
      (if(and(< dis 400)(>= dis 280))
      (progn
      (setq block "d-3″)
      (setq dis2 300)
      (command "-layer" "s" "d-0.3M" "")
    )
      (if(and(< dis 300)(>0))
      (progn
      (setq block "d-2″)
      (setq dis2 50)
      (command "-layer" "s" "d-0.2M" "")
    )
    )
))))))))));남은거리 측정 후 블록 삽입. // dis2에 블록거리 지정

관련자료

댓글 4 / 1 페이지

수야12님의 댓글

조건이 애매한데요 400~700 600~1000 ?? 두개조건에 다 포함 되네요  조건 중복이 많네요 

수야12님의 댓글

현재 고캐드는 게시판 포기 상태이니 님 블로그에다 원하시는 상황이 적용된 간단한 도면 하고 블럭 올리시고 링크 한번 걸어 보실랍니까??

전체 6,913 / 8 페이지
번호
제목
이름
알림 0