비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 102869
다음
진행 중
Lv.0
등록일: 2014-12-042014-12-04T21:13:29+09:00 2014-12-04T21:13:29+09:00카테고리: AutoCAD & CADian

리습 오류 질문입니다 ..

리습 전문입니다.
 FILLET.LSP Loaded.  Start Command with FRerror: bad argument type: consp nil라는 에러가 뜹니다.. ㅜㅜ 문법오류를 찾아야하는데 도저히못찾겠네요 ..ㅜㅜㅜ

이 리습 아래쪽에 있는 리습은 실행이 되지 않습니다.


;旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴?
;?    FILE : FILLET.LSP         AutoLISP : SOHN  JONG-SUP         ?
;읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴?
(defun          c:DT()
        (command “chamfer” “d” “10”  “10”)
        (setvar    “cmdecho”    0)(graphscr)
        (setq   rad   (rtos (getvar  “chamfera”)))
        (setq   pt1   (entsel   “n Select first object: ” )
                ent1  (car                             pt1))
                (redraw               ent1                3)
        (setq   pt2   (entsel   “n Select second object: “)
                ent2  (car                             pt2))
                (redraw               ent2                3)
        (setq   pt3   (cdr                              pt1)
                pt4   (cdr                             pt2))
        (setq   ent3  (entget          (car            pt1))
                ent4  (entget          (car            pt2))
                rad   (getreal (strcat “n Enter fillet radius: <“rad”>: “)))
        (command   “CHAMFER”   “D”  rad  rad  “CHAMFER”  pt1  pt2)
      ; (entdel      ent1)  
        (entdel      ent2)
      ; (entmake     ent3)  
        (entmake     ent4)
        (princ)
)
(PROMPT “ntHYUNDAI CAD/CAM DESIGN INSTITUTE. PHONE:(0551)96-6013, 81-6474”)
(prompt  “ntFILLET.LSP Loaded.  Start Command with FR”)(princ)
(setvar “UCSFOLLOW” (nth 4 oldvar))
  (setvar “UCSICON” (nth 3 oldvar))
  (setvar “BLIPMODE” (nth 2 oldvar))
  (setvar “CMDECHO” (car oldvar))
  (setq *error* olderr)
  (princ)
)


(defun dxf (a e) (cdr (assoc a e)))


(defun get_input (prmpt kwrd / inp)
  (while (not inp)
    (initget (strcat “Radius ” kwrd))
    (setq inp
      (entsel
        (strcat
          “nRadius (“
          (rtos (getvar “FILLETRAD”))
          “)/”
          prmpt
          “: “
        )
      )
    )
    (cond
      ( (= inp “Radius”)
        (if
          (setq inp
            (getreal
              (strcat
                “Enter fillet radius <“
                (rtos (getvar “FILLETRAD”))
                “>: “
              )
            )
          )
          (setvar “FILLETRAD” inp)
        )
        (setq inp nil)
      )
      ( inp
        (if (listp inp) (setq inp (nentselp (cadr inp))))
      )
      ( T
        (setq inp 0)
      )
    )
  )
  (if (not (numberp inp)) inp)
)


(defun is_valid (elist vert / etype)
  (setq etype (dxf 0 elist))
  (not
    (cond
      ( (= etype “VERTEX”)
        (cond
          ( (and vert (listp vert))
            (cond
              ( (not (zerop (dxf 42 elist)))
                (princ “nCannot fillet polyline arc segments!”)
              )
              ( (not (member (dxf -1 elist) vert))
                (princ
                  (strcat
                    “nLines belonging to polylines must be consecutive”
                    ” or separated by one segment!”
                  )
                )
              )
            )
          )
          ( vert
            (princ
              (strcat “nCannot fillet polyline segments”
                      ” with non-polyline segments!”
              )
            )
          )
          ( T
            (cond
              ( (>= (dxf 70 elist) 128)
                (princ “n3D Polyface Mesh entities may not be filleted!”)
              )
              ( (>= (dxf 70 elist) 64)
                (princ “n3D Polygon Mesh entities may not be filleted!”)
              )
              ( (>= (dxf 70 elist) 32)
                (princ “n3D Polyline entities may not be filleted!”)
              )
              ( (not (zerop (dxf 42 elist)))
                (princ “nCannot fillet polyline arc segments!”)
              )
            )
          )
        )
      )
      ( (member etype ‘(“LINE” “ARC” “CIRCLE”))
        (if (and vert (listp vert))
          (princ
            (strcat “nCannot fillet polyline segments”
                    ” with non-polyline segments!”
            )
          )
        )
      )
      ( T
        (princ
          (strcat “nFillet requires lines, arcs, circles”
                  “, or straight polyline segments!”
          )
        )
      )
    )
  )
)


(defun findparent (ent / edata)
  (while
    (and
      (setq ent (entnext ent))
      (/= (dxf 0 (setq edata (entget ent))) “SEQEND”)
    )
  )
  (if ent (cdr (assoc -2 edata)))
)


(defun equalf (real1 real2)
  (equal real1 real2 0.0000000001)
)


(defun zerof (realnum)
  (equal realnum 0 0.0000000001)
)



; ***********************************************
; ***************  Main Program  ****************
; ***********************************************


  (setq T (not nil))
  (setq oldvar
    (list
      (getvar “CMDECHO”)
      (getvar “UNDOCTL”)
      (getvar “BLIPMODE”)
      (getvar “UCSICON”)
      (getvar “UCSFOLLOW”)
    )
  )
  (setvar “CMDECHO” 0)
  (setvar “BLIPMODE” 0)
  (setq restore filletx
        olderr  *error*
        *error* errexit
  )
  (while (and (not inp) (setq inp (get_input “<Select first object>” “”)))
    (and
      (if (not (is_valid (setq ent1 (entget (car inp))) nil))
        (setq inp nil)
        T
      )
      (if (> (length inp) 2)
        (progn
          (initget “Yes No”)
          (if
            (= “Yes”
              (getkword
                (strcat
                  “nYou selected an entity in a block!”
                  “n    Do you want to explode the block? (Yes/<No>): “
                )
              )
            )
            (progn
              (while (> (length inp) 2)
                (command “._EXPLODE” (last (last inp)))
                (setq inp (nentselp (cadr inp)))
              )
              (setq ent1 (entget (car inp)))
            )
          )
        )
        T
      )
      (progn
        (redraw (car inp) 3)
        (cond
          ( (= (dxf 0 ent1) “VERTEX”)
            (setq p1   (cadr inp)
                  tmp1 (findparent (dxf -1 ent1))
                  tmp2 tmp1
            )
            (while (/= (dxf 0 (entget (setq tmp1 (entnext tmp1)))) “SEQEND”)
              (setq vertlist (cons tmp1 vertlist))
            )
            (setq vertlist
              (list
                (cadr (member (dxf -1 ent1) vertlist))
                (caddr (member (dxf -1 ent1) vertlist))
                (cadr (member (dxf -1 ent1) (reverse vertlist)))
                (caddr (member (dxf -1 ent1) (reverse vertlist)))
              )
            )
            (setq inp nil)
            (while (not inp)
              (setq inp
                (get_input
                  “Undo/Select second segment(<CR>=entire polyline)”
                  “Undo”
                )
              )
              (cond
                ( (= inp “Undo”)
                  (redraw (dxf -1 ent1) 4)
                )
                ( (null inp)
                  (redraw (dxf -1 ent1) 4)
                  (setvar “UCSICON” 0)
                  (command
                    “._UCS”
                    “_E”
                    tmp2
                    “._FILLET”
                    “_P”
                  )
                  (setvar “CMDECHO” 1)
                  (command tmp2)
                  (setvar “CMDECHO” 0)
                  (command
                    “._UCS”
                    “_P”
                  )
                  (setvar “UCSICON” (nth 3 oldvar))               
                  (setq inp T)
                ) 
                ( T
                  (if (is_valid (setq ent2 (entget (car inp))) vertlist)
                    (progn
                      (redraw (dxf -1 ent1) 4)
                      (setvar “UCSICON” 0)
                      (setq p1 (trans p1 1 0)
                            p2 (trans (cadr inp) 1 0)
                      )
                      (command
                        “._UCS”
                        “_E”
                        tmp2
                        “._FILLET”
                        (trans p1 0 1)
                        (trans p2 0 1)
                        “._UCS”
                        “_P”
                      )
                      (setvar “UCSICON” (nth 3 oldvar))               
                    )
                    (setq inp nil)
                  )
                )
              )
            )
            (if (= inp “Undo”) (setq inp nil))
          )
          ( T
            (setq ent1 (list (dxf 0 ent1) (car inp) (trans (cadr inp) 1 0))
                  inp  nil
            )
            (while (not inp)
              (setq inp (get_input “Undo/Select second object” “Undo”))
              (cond
                ( (= inp “Undo”)
                  (redraw (cadr ent1) 4)
                )
                ( (null inp)
                  (setq inp 1)
                  (redraw (cadr ent1) 4)
                )
                ( (is_valid (setq ent2 (entget (car inp))) T)
                  (setq ent2 (dxf 0 ent2))
                  (cond
                    ( (= (car ent1) ent2 “LINE”)
                      (if
                        (inters
                          (dxf 10 (entget (cadr ent1)))
                          (dxf 11 (entget (cadr ent1)))
                          (dxf 10 (entget (car inp)))
                          (dxf 11 (entget (car inp)))
                          nil
                        )
                        (progn
                          (setq ent2
                            (cons
                              ent2
                              (list (car inp) (trans (cadr inp) 1 0))
                            )
                          )
                          (setq tmp1 (entget (cadr ent1))
                                tmp2 (entget (cadr ent2))
                          )
                          (if
                            (and
                              (equalf
                                (caddr (trans (dxf 10 tmp1) 0 1))
                                (caddr (trans (dxf 11 tmp1) 0 1))
                              )
                              (equalf
                                (caddr (trans (dxf 11 tmp1) 0 1))
                                (caddr (trans (dxf 10 tmp2) 0 1))
                              )
                              (equalf
                                (caddr (trans (dxf 10 tmp2) 0 1))
                                (caddr (trans (dxf 11 tmp2) 0 1))
                              )
                            )
                            (command
                              “._FILLET”
                              (trans (caddr ent1) 0 1)
                              (trans (caddr ent2) 0 1)
                            )
                            (progn
                              (setvar “UCSICON” 0)
                              (command
                                “._UCS”
                                “_3”
                                (trans (dxf 10 tmp1) 0 1)
                                (trans (dxf 11 tmp1) 0 1)
                                (trans
                                  (if
                                    (or
                                      (equalf
                                        (dxf 10 tmp2)
                                        (dxf 10 tmp1)
                                      )
                                      (equalf
                                        (dxf 10 tmp2)
                                        (dxf 11 tmp1)
                                      )
                                    )
                                    (dxf 11 tmp2)
                                    (dxf 10 tmp2)
                                  )
                                  0
                                  1
                                )
                                “._FILLET”
                                (trans (caddr ent1) 0 1)
                                (trans (caddr ent2) 0 1)
                                “._UCS”
                                “_P”
                              )
                              (setvar “UCSICON” (nth 3 oldvar))
                            )
                          )
                        )
                        (prompt “nEntities are not co-planar!”)
                      )
                    )
                    ( (or (setq tmp1 (= (car ent1) “LINE”)) (= ent2 “LINE”))
                      (setq ent2
                        (cons ent2 (list (car inp) (trans (cadr inp) 1 0)))
                      )
                      (setvar “UCSICON” 0)
                      (command
                        “._UCS”
                        “_E”
                        (if tmp1 (cadr ent2) (cadr ent1))
                      )
                      (if
                        (and
                          (zerof
                            (last
                              (trans
                                (dxf 10
                                  (entget (cadr (if tmp1 ent1 ent2)))
                                )
                                0
                                1
                              )
                            )
                          )
                          (zerof
                            (last
                              (trans
                                (dxf 11
                                  (entget (cadr (if tmp1 ent1 ent2)))
                                )
                                0
                                1
                              )
                            )
                          )
                        )
                        (command
                          “._FILLET”
                          (trans (caddr ent1) 0 1)
                          (trans (caddr ent2) 0 1)
                        )
                        (prompt “nEntities are not co-planar!”)
                      )
                      (command
                        “._UCS”
                        “_P”
                      )
                      (setvar “UCSICON” (nth 3 oldvar))
                    )
                    ( (equal
                        (dxf 210 (entget (cadr ent1)))
                        (dxf 210 (entget (car inp)))
                      )
                      (setvar “UCSICON” 0)
                      (command
                        “._UCS”
                        “_E”
                        (cadr ent1)
                        “._FILLET”
                        (trans (caddr ent1) 0 1)
                        (trans (cadr inp) 0 1)
                        “._UCS”
                        “_P”
                      )
                      (setvar “UCSICON” (nth 3 oldvar))
                    )
                    ( T (prompt “nEntities are not co-planar!”))
                  )
                  (if inp (redraw (cadr ent1) 4))
                )
                ( T (setq inp nil))
              )
            )
            (setq inp (if (= inp “Undo”) nil 1))
          )
        )
      )
    )
  )
  (restore)
)


 

  • 0
  • 1 1 답변
  • 27 조회
공유
  • Facebook

    관련 있는 질문들

    • 정말 부탁드립니다 오피스 베이스 도면 하나 받을 수 있을까요......................ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
    • 캐드 기계설계 보조 프로그램을 찾고있습니다.
    • 오토리습 open함수 질문
    • 3D 작업중 화면이동시 좌표계가 계속 돌아감

    1 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. [Deleted User]
      2014-12-05T23:54:14+09:00답변 등록 답변 등록 일시 2014-12-05 11:54 pm

      죄송하지만 어디가 수정된지 알수 있을까요 ?? ㅜㅜㅜ 같은파일 한개가 더있어서요 ㅜㅜ 챔퍼 5짜리와 10짜리 두가지거든요 ㅠㅠㅠ

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    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