비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 95625
다음
Lv.0
등록일: 2012-07-102012-07-10T14:21:37+09:00 2012-07-10T14:21:37+09:00카테고리: AutoCAD & CADian

[lisp]도움 요청 전체 trim

안녕하세요

제가 여러객체들의 총 면적을 구할려고 하는데요

한 객체를 기준으로 걸쳐있는 객체들을 trim 시키는 lisp 이 있는데 이것을 변형 시키고 싶습니다.

현재는 기준 객체(사각형)를 기준으로 외부 객체들은 전부 지워지고 있습니다.

이것을 변형시키고자 합니다.

1. 기준 객체가 사각형인데 원이나 다른 형태로 변형이 가능한가요?

2. 객체 기준으로 외부가 삭제 되면서 trim 이 되는데 반대로 내부의 것들도 trim 시키면서 삭제가 될련지요??

둘중에 가능한것이 있으시면 올려 주셨으면 합니다..수정해주셔도 됩니다.

(defun c:mp ( / Os_Md Et_pLo Lt_vtx Min_rX Min_rY Max_rX Max_rY
                 _tmp01 _tmp02 _tmp03 _tmp04 _tmL01 _tmAdd _tmRpt)
  (setq olderr *error* *error* errchck)
  (setq Os_md (getvar “Osmode”))
  (setvar “cmdecho” 0)
  (setvar “Osmode”  191)
  (setq Et_pLo (car (entseL “n 테두리 요소를 선택하세요 “)) ) ;
  (redraw Et_pLo 1)
  (setq Lt_vtx niL)
  (foreach f_e (entget Et_pLo)
    (if (= (car f_e) 10) (setq Lt_vtx (append Lt_vtx (List (cdr f_e))) ) ) ; i
  ) ; r
  (setq Min_rX (min (car  (car Lt_vtx)) (car  (cadr Lt_vtx)) (car  (caddr Lt_vtx)) (car  (cadddr Lt_vtx)))
        Max_rX (max (car  (car Lt_vtx)) (car  (cadr Lt_vtx)) (car  (caddr Lt_vtx)) (car  (cadddr Lt_vtx)))
        Min_rY (min (cadr (car Lt_vtx)) (cadr (cadr Lt_vtx)) (cadr (caddr Lt_vtx)) (cadr (cadddr Lt_vtx)))
        Max_rY (max (cadr (car Lt_vtx)) (cadr (cadr Lt_vtx)) (cadr (caddr Lt_vtx)) (cadr (cadddr Lt_vtx))) )
  (setq _tmp01 (list Min_rX Min_rY)
        _tmp02 (list Max_rX Min_rY)
        _tmp03 (list Max_rX Max_rY)
        _tmp04 (list Min_rX Max_rY) ) ;
  (setq _tmL01 1 ; … 최초 이격거리
        _tmAdd  1   ; … 거리 증분    
        _tmRpt 150) ; … 반복 횟수    
  (Command “Erase” “ALL” “R” “C” _tmp03 _tmp01 “”)
  (Command “Trim” Et_pLo “”)
  (repeat _tmRpt
    (Command “F” (polar _tmp01 (dtr 225) _tmL01) (polar _tmp02 (dtr 315) _tmL01) “”)
    (Command “F” (polar _tmp02 (dtr 315) _tmL01) (polar _tmp03 (dtr  45) _tmL01) “”)
    (Command “F” (polar _tmp03 (dtr  45) _tmL01) (polar _tmp04 (dtr 135) _tmL01) “”)
    (Command “F” (polar _tmp04 (dtr 135) _tmL01) (polar _tmp01 (dtr 225) _tmL01) “”)
    (setq _tmL01 (+ _tmL01 _tmAdd))
  ) ; r
  (Command)
  (setq Min_tX (car  (getvar “ExtMin”))
        Min_tY (cadr (getvar “ExtMin”))
        Max_tX (car  (getvar “ExtMax”))
        Max_tY (cadr (getvar “ExtMax”)) ) ;
  (Command “ERASE” “W” (list Min_tX Min_tY) (list Min_rX Max_tY) “”)
  (Command “ERASE” “W” (list Min_tX Min_tY) (list Max_tX Min_rY) “”)
  (Command “ERASE” “W” (list Min_tX Max_rY) (list Max_tX Max_tY) “”)
  (Command “ERASE” “W” (list Max_rX Min_tY) (list Max_tX Max_tY) “”)
  (setq Et_List (list (ssget “C” _tmp01 _tmp02 ‘((0 . “TEXT,INSERT”)))
                      (ssget “C” _tmp02 _tmp03 ‘((0 . “TEXT,INSERT”)))
                      (ssget “C” _tmp03 _tmp04 ‘((0 . “TEXT,INSERT”)))
                      (ssget “C” _tmp04 _tmp01 ‘((0 . “TEXT,INSERT”)))) ) ;
  (foreach f_e Et_List
    (if f_e
      (progn
        (setq _ij1 0)
        (repeat (sslength f_e)
          (entdel (ssname f_e _ij1))
          (setq _ij1 (1+ _ij1))
        ) ; r
      ) ; p
    ) ; i
  ) ; f
  (setVar “Osmode” Os_Md)
(princ)
) ; de_fun
(defun dtr  (_a / )  (/ (* _a pi) 180.) )


감사합니다.

  • 0
  • 13 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토캐드 마지막 화면으로 실행 안됨
    • 오토캐드 마지막 화면으로 실행 안됨
    • 도서관 도면 구합니다. !
    • 캐드2022 레이어 그룹 분류시 레이어 드래그 오류

    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