더블 포인트 제거

  • Thread starter Thread starter tizianost
  • Start date Start date

tizianost

Guest
안녕하세요 여러분, 나는 lisp에서 내 세 번째 스크립트를 시도하고 평소처럼 나는 붙어있어, 나는 당신이 나를 도울 수 있기를 바랍니다.

아래 코드와 함께 나는 주어진 디자인에서 삭제하고 싶습니다 모든 "포인트"물체 overlapped, 나는 익스프레스 메뉴에 유사한 기능이 있음을 알고 있지만, 나는 같은 메뉴없이 모든 오토 캐드에서 기능하는 스크립트를 좋아합니다.


(setq 그룹 (ssget "x")); 디자인의 모든 요소를 선택하십시오.
(setq nent (1- (길이 그룹));
(setq i 1); 끝없는 사이클을 방지
(while (and (> nent -1) (< i 1000000); 모든 요소를 위한 주기
(setq ent) ; 요소의 이름을 추출
(seq 요소 (entget ent)); 데이터베이스에서 "ent" 요소를 추출
; (인쇄 i)
(setq tipoent (cdr (assoc 0 요소))))
(인쇄 팁)

(후)
(임시)
(setq nent2 엔트)
(세트 j 0)
(와 (> nent2 -1) (< j 1000000)
(setq ent2 (이름 그룹 nent2); 요소의 이름을 추출
(setq element2 (entget ent2) ; 데이터베이스에서 "ent" 요소를 추출


(/= (cdr (assoc -1 요소)) (cdr (assoc -1 요소 2)))) ; 같은 객체가 아닌지 확인)
(임시)
(인쇄 (cdr (assoc -1 요소)))
(인쇄 (cdr (assoc -1 요소 2))
(setq 좌표1 (cdr (10 요소))))
(setq 좌표 2 (cdr 10 요소 2))

(if (= 좌표1 좌표2); 두 번째 객체가 첫 번째로 동일한 좌표를 가지고 있다면 ...(임시)
(참고)
(인쇄 "eliminate")
(setq 그룹 (ssget "x")); 디자인의 모든 요소를 보충
(setq nent (1- (길이 그룹));
);
(임시)
(다른 coorinate로 인쇄하십시오)
(인쇄 (차 좌표1))
(인쇄 (차 좌표2))
);
);
);
);

(세트 j (1+ j)
(setq nent2 (1- nent2)
); 동안의 끝
);
);

(세트 i (1+ i))
(setq 엔트 (1- 엔트))

); 동안의 끝


끝없는 시도는 그들이 좌표와 entities의 목록을 비교하지 못하면 오류가 기능에 거짓말을 믿는다 (나는 잘못)

감사합니다.
안녕하세요.
사이트맵
 
Cosine confrontal 협조:
(= (차 pt1) (차 pt2)) (= (cr pt1) (cd pt2)) (= (cd pt1) (cd pt2))

이름 *
 
(= 좌표 1 좌표 2) 명세· ; 여분 부류가 있습니다

그래서 값이 확인 될 수 있도록 rpor66의 방법을 사용하거나 코드를 작성해야:
(후)이름 * 좌표1 좌표2

그래서 lisp 회전을하고 있지만 항상 동일한 지점에서 확인하는 것과 같이 모든 점을 삭제합니다 (모든 점은 명확하게 동일합니다), 다음 변경해야합니다 :
(setq nent2 엔트)
내 계정
(세트q nent2 (1세 이상) 이름 *·그래서 그것은 작동해야:
HTML:
(setq 그룹 (ssget "x")); 디자인의 모든 요소를 선택하십시오.
(setq nent (1- (길이 그룹));
(setq i 1); 끝없는 사이클을 방지
(와 (> nent -1) (< i 1000000)
; 모든 성분을 위한 주기
(setq ent) ; 요소의 이름을 추출
(seq 요소 (entget ent)); 데이터베이스에서 "ent" 요소를 추출
; (인쇄 i)
(setq tipoent (cdr (assoc 0 요소))))
(인쇄 팁)

(후)
(임시)
(setq nent2 (1- 엔트)
(세트 j 0)
(와 (> nent2 -1) (< j 1000000)
(setq ent2 (이름 그룹 nent2); 요소의 이름을 추출
(setq element2 (entget ent2) ; 데이터베이스에서 "ent" 요소를 추출

(/= (cdr (assoc -1 요소))
(cdr (assoc -1 요소)
) ; 동일한 객체가 아니라는 것을 확인합니다
(임시)
(인쇄 (cdr (assoc -1 요소)))
(인쇄 (cdr (assoc -1 요소 2))
(setq 좌표1 (cdr (10 요소))))
(setq 좌표 2 (cdr 10 요소 2))

(즉, 좌표1 좌표2)
; 두 번째 객체가 첫 번째로 동일한 좌표를 가지고 있다면 ...
(임시)
(참고)
(인쇄 "eliminate")
(setq 그룹 (ssget "x")); 디자인의 모든 요소를 보충
(setq nent (1- (길이 그룹));
);
(임시)
(다른 coorinate로 인쇄하십시오)
(인쇄 (차 좌표1))
(인쇄 (차 좌표2))
);
);
);
);

(세트 j (1+ j)
(setq nent2 (1- nent2)
); 동안의 끝
);
);

(세트 i (1+ i))
(setq 엔트 (1- 엔트))

); 동안의 끝
다른 lisp를 개발하는 경우, 개체 선택 (이 경우 포인트) 당신은 "direct"코드를 사용해야:

(setq 그룹)

이 방법으로 모든 포인트는 선택되지 않고 선택 그룹을 스크롤하여 검색합니다.
 
나는 모든 일을하기 위해 관리

감사합니다.
안녕하세요.
사이트맵
 
좋은 저녁,
나는이 문제가있다 :
좌표에 있는 점의 civildesign genero로, 그러나 많은 시간 나는 동일한 이름과 2개 이상 점을 appoint에 일어나고 수출에서 나는 동일을 강조하고 싶습니다.
누구나 나를 도울 수 있습니까?
감사합니다.
 

Forum statistics

Threads
58,191
Messages
495,938
Members
103,104
Latest member
FabioFrontini

Members online

No members online now.

Back
Top