비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 110693
다음
Lv.0
등록일: 2018-12-072018-12-07T15:55:51+09:00 2018-12-07T15:55:51+09:00카테고리: AutoCAD & CADian

리습 문법이 잘 못됐다고 나오는데 한번봐주실수있나요 ㅠㅠ

사용하려고하는데 문법오류가 뜨는데 해결해주실수있나요 ㅠㅠ
;; ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
;; Fire-alarm 면적 및 필요감지기 수량 체크
(defun c:fa ( / a i s cl txt_bsz txt_bsc txt_sz OBJ oa unit p1 p2 pnt1 cdec btype spec height stru bname sname err area blkname pnt2 dist)
  (vl-load-com)
  (defun BK_Roundto ( n p ) (/ (fix (+ (* n (setq p (expt 10. p))) (if (minusp n) -0.5 0.5))) p))
  (defun BK_roundup1 ( y )
 (if (equal 0.0 (rem y 1) 1e-8)
        (atoi (rtos y 2 0))
        (* 1 (fix (1+ (/ y 1))))
    )
  )
  (setq cl (getvar “clayer”))
  (setq cdsep (getvar “dimdsep”))
  (setq cdec (getvar “dimdec”))
  (setq txt_bsz 1.5)
  (setq txt_bsc (getreal “Scale을 입력 :”))
  (if (= txt_bsc nil) (setq txt_bsc (getvar “ltscale”)))
  (setq txt_sz (* txt_bsz txt_bsc))
  (setq dist (* txt_bsc 10))
  (setvar “dimscale” (getvar “ltscale”))
  (setvar “dimdsep” “.”)
  (setvar “dimdec” 2)
  (setq btype (getreal “ 감지기 종류를 선택하세요. 1) 차동식  2) 정온식  3) 보상식 4) 연기식  (Default : 차동식) : “)) ;; 조건 1 : 차동식, 정온식, 보상식, 연기식
  (if (= btype nil) (setq btype 1))
 
  (setq spec (getreal “ 종별 구분을 선택하세요.  1) 1종  2) 2종  3) 3종(연기식만 해당됨)  4) 특종(정온식만 해당됨) (Default : 2종) : “)) ;; 조건 2 : 1종, 2종, 3종,특종
  (if (= spec nil) (setq spec 2))
  (if (and (/= btype 4) (= spec 3) ) (setq err “n3종은 연기식만 가능합니다” “n3종은 연기식만 가능합니다” “n3종은 연기식만 가능합니다”))
  (if (and (/= btype 2) (= spec 4) ) (setq err “n특종은 정온식만 가능합니다” “n특종은 정온식만 가능합니다” “n특종은 정온식만 가능합니다”))
 
  (setq height (getreal “ 설치높이를 선택하세요.  1) 4m 미만  2) 4m~8m미만  3) 4m~20m미만(연기식만 해당됨) (Default : 4m 미만) : “))  ;; 조건 3 : 4m 이하 or 4m ~ 8m미만 or 4m ~ 20m미만
  (if (= height nil) (setq height 1))
  (if (and (= btype 2) (= spec 2) (= height 2)) (setq err “n정온식 2종은 4~8m미만에 설치 불가합니다” “n정온식 2종은 4~8m미만에 설치 불가합니다” “n정온식 2종은 4~8m미만에 설치 불가합니다”))
  (if (and (= btype 4) (= spec 3) (= height 3)) (setq err “n4~20m미만 조건은 연기식 1,2종만 해당됩니다” “n4~20m미만 조건은 연기식 1,2종만 해당됩니다” “n4~20m미만 조건은 연기식 1,2종만 해당됩니다”))
  (if (and (= btype 4) (= height 2)) (setq err “n4~8m미만 조건은 연기식에 해당되지 않습니다” “n4~8m미만 조건은 연기식에 해당되지 않습니다” “n4~8m미만 조건은 연기식에 해당되지 않습니다”))
  (if (and (/= btype 4) (= height 3)) (setq err “n4~20m미만 조건은 연기식만 해당됩니다” “n4~20m미만 조건은 연기식만 해당됩니다” “n4~20m미만 조건은 연기식만 해당됩니다”))
 
  (setq stru (getreal “ 설치장소 구조를 선택하세요. 1) 내화구조  2) 기타구조 (Default : 기타구조) : “)) ;; 조건 4 : 내화구조, 기타구조
  (if (= stru nil) (setq stru 2))
 
 (cond  ((or (= btype 1) (= btype nil)) (setq bname “차동식”))
      ((= btype 2) (setq bname “정온식”))
   ((= btype 3) (setq bname “보상식”))
   ((= btype 4) (setq bname “연기식”))
 )
 (cond  ((= spec 1) (setq sname “1종”))
   ((or (= spec 2) (= spec nil)) (setq sname “2종”))
   ((= spec 3) (setq sname “3종”))
   ((= spec 4) (setq sname “특종”))
  )
 
 (cond  ((or (= btype 1) (= btype nil)) (setq blkname “F1”))
      ((= btype 2) (setq blkname “F2”))
   ((= btype 4) (setq blkname “F3”))
 )
  ;; 차동식/보상식 1종 : 90 50 45 30
  ;; 차동식/보상식 2종 : 70 40 35 25
  ;; 정온식 특종 : 70 40 35 25
  ;; 정온식 1종 : 60 30 30 15
  ;; 정온식 2종 : 20 15
  ;; 연기식 1종/2종 : 150 75
  ;; 연기식 3종 : 50
 
   (cond ;; 차동식/보상식 1종
     ((and (or (= btype 1) (= btype 3)) (= spec 1) (= height 1) (= stru 1)) (setq area 90))
     ((and (or (= btype 1) (= btype 3)) (= spec 1) (= height 1) (= stru 2)) (setq area 50))
     ((and (or (= btype 1) (= btype 3)) (= spec 1) (= height 2) (= stru 1)) (setq area 45))
     ((and (or (= btype 1) (= btype 3)) (= spec 1) (= height 2) (= stru 2)) (setq area 30))
     ;; 차동식/보상식 2종
     ((and (or (= btype 1) (= btype 3)) (= spec 2) (= height 1) (= stru 1)) (setq area 70))
     ((and (or (= btype 1) (= btype 3)) (= spec 2) (= height 1) (= stru 2)) (setq area 40))
     ((and (or (= btype 1) (= btype 3)) (= spec 2) (= height 2) (= stru 1)) (setq area 35))
     ((and (or (= btype 1) (= btype 3)) (= spec 2) (= height 2) (= stru 2)) (setq area 25))
     ;; 정온식 1종
     ((and (= btype 2) (= spec 1) (= height 1) (= stru 1)) (setq area 60))
     ((and (= btype 2) (= spec 1) (= height 1) (= stru 2)) (setq area 30))
     ((and (= btype 2) (= spec 1) (= height 2) (= stru 1)) (setq area 30))
     ((and (= btype 2) (= spec 1) (= height 2) (= stru 2)) (setq area 15))
     ;; 정온식 2종
     ((and (= btype 2) (= spec 2) (= height 1) (= stru 1)) (setq area 20))
     ((and (= btype 2) (= spec 2) (= height 1) (= stru 2)) (setq area 15))
     ((and (= btype 2) (= spec 2) (= height 2) (or (= stru 1) (= stru 2))) (princ err))
     ;; 정온식 특종
     ((and (= btype 2) (= spec 4) (= height 1) (= stru 1)) (setq area 70))
     ((and (= btype 2) (= spec 4) (= height 1) (= stru 2)) (setq area 40))
     ((and (= btype 2) (= spec 4) (= height 2) (= stru 1)) (setq area 35))
     ((and (= btype 2) (= spec 4) (= height 2) (= stru 2)) (setq area 25))
     ;; 연기식  1종 및 2종
     ((and (= btype 4) (or (= spec 1) (= spec 2)) (= height 1) (or (= stru 1) (= stru 2))) (setq area 150))
     ((and (= btype 4) (or (= spec 1) (= spec 2)) (= height 3) (or (= stru 1) (= stru 2))) (setq area 75))
     ;; 연기식  3종
     ((and (= btype 4) (= spec 3) (= height 1) (or (= stru 1) (= stru 2))) (setq area 50))
 )
   
  (setq s (ssget ‘(   (0 . “CIRCLE,ELLIPSE,*POLYLINE,SPLINE”)
       (-4 . “<NOT”)
       (-4 . “<AND”)
       (0 . “POLYLINE”) (-4 . “&”) (70 . 80)
       (-4 . “AND>”)
       (-4 . “NOT>”)
      )
    )
  );setq
 (command “clayer” “defpoints”)
 (command “la” “c” “11” “” “”) 
  (repeat
    (setq cnt (sslength s))
          (setq obj (vlax-ename->vla-object (ssname s (setq cnt (1- cnt)))))
          (setq i (sslength s))
          (setq a (vlax-curve-getarea obj))
          (setq oa (rtos a 0))
          (setq unit “㎡”)
    ;(setq base “기준면적 : “)
    ;(setq sep ” / “)
    ;(setq inst ” 개 설치”)
          (vla-getboundingbox OBJ ‘P1 ‘P2)
          (setq P1 (vlax-safearray->list P1))
          (setq P2 (vlax-safearray->list P2))
          (setq pnt1 (list (+ (car p1) (/ (- (car p2) (car p1)) 2)) (+ (cadr p1) (/ (- (cadr p2) (cadr p1)) 2))))
    (setq pnt2 (list (+ (car p1) (/ (- (car p2) (car p1)) 2)) (+ (+ (cadr p1) (/ (- (cadr p2) (cadr p1)) 2)) dist )))
    ;; 자동으로 블럭 삽입하려면 이곳에 해당 명령줄 추가
    (COMMAND “INSERT” blkname pnt2 txt_bsc txt_bsc “0”)
    (COMMAND “TEXT” “M” pnt2 txt_sz “” (rtos (bk_roundup1 (/ (atof oa) 1000000 area)) 2 0)) ;;심벌 중앙에 “TS” 리습을 위한 숫자 기입
   
    (command “MTEXT” p1 “J” “MC” “h” txt_sz “s” “standard” p2 (strcat “면적 : ” (rtos (/ (atof oa) 1000000) 2 2) unit
                           “n” “기준면적 : ” (rtos area 2 0) unit ” / 최소 ” (rtos (bk_roundup1 (/ (atof oa) 1000000 area)) 2 0)  ” 개 설치”
                           “n” “(” bname ” ” sname “)” ) “”)
          (command “dimlinear” (list (car p1) (cadr p2)) (list (car p2) (cadr p2)) “h” “@0,0,0”) ;; 가로
          (command “dimlinear” p1 (list (car p1) (cadr p2)) “v” “@0,0,0”) ;; 세로
    );repeat
  (command “clayer” cl)
  (command “dimdsep” cdsep)
  (command “dimdec” cdec)
(princ)
);defun
(vl-load-com) (princ)
junglock8456@naver.com
수정후 보내주시면 감사하겠습니다 ㅠㅠ
  • 0
  • 17 조회
공유
  • Facebook

    관련 있는 질문들

    • 캐드출력시 pc3모드이 이상현상
    • 객체 전체 간격 조정 할수 있을까요?
    • 블록 안에서 블록을 만들 수 있나요? 과거에는 됐었는데 2023부터 안되나요?
    • 캐드 2023 find 명령어가 너무 느립니다.

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved