2021.05.03 11:11
드림플러스 질문은 아래에 남기는 것이 답변이 빠릅니다.
홈페이지 : http://www.dreamcad.net/support/qna/
메일 : email72@nate.com
vba intersectwith를 이용하여 교차되는 object를 찾는데...
대상 객체 수량이 10,000개정도 되다보니 찾는 시간이 오래걸리거나 팅겨지는 현상이 생깁니다.
코딩은 아래와 같습니다.
조언 부탁드리겠습니다.
for each entry in sobj
-
-
ip = rLine.intersectwith(vLine, acExtendnone)
if Ubound(ip) = 2 then
-
-
end if
next
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | ★ 드림플러스 질문은 메일 또는 홈페이지에 부탁합니다 ★ | 아저씨 | 2017.05.16 | 2753 |
공지 | 제목이 엉망이면 답변달지 않습니다. [1] | 아저씨 | 2014.04.04 | 23843 |
공지 | 순수 캐드 질문은 고캐드로 | 아저씨 | 2013.05.28 | 68619 |
공지 | 질문 답변 게시판을 만들었습니다. | 아저씨 | 2013.02.09 | 74932 |
2053 | VBA/LISP 면적 구하기에 대해서 질문 드립니다. [2] | 태상노군 | 2013.02.15 | 153170 |
2052 | XREF 절대경로를 상대경로로 편집할때 외부참조관리자(AdRefMan) 말고 다른방법은 없나요? [1] | papersdream | 2013.02.18 | 54053 |
2051 | &H8007007E (-2147024770) 시스템 오류가 발생하였습니다. 지정된 모듈을 찾을 수 없습니다. [1] | 계장쟁이 | 2013.03.11 | 38155 |
2050 | 드림을 만나 요즘 정말 살맛나게 일하고 있는 1인입니다. [1] | livehero | 2013.02.12 | 36660 |
2049 | 다중플롯시 폼등록을 했는데.. [1] | ㅁㄴㅇ | 2014.03.21 | 35552 |
2048 | 오토캐드 도면 JPG파일로 내보내기하는 방법 문의 [1] | 김세직 | 2014.10.19 | 34045 |
2047 | 윈도우7 32비트 설치 오류! [1] | 삐삐누 | 2014.03.22 | 33821 |
2046 | civil 3d 2012에서 드림을 설치 할수 있나요. [1] | 배고픈곰 | 2013.02.16 | 33245 |
2045 | 다중플롯 시 POSTSCRIPT 문제 관련.. [1] | 규규규 | 2013.05.15 | 28899 |
2044 | autocad 2013 오류 문구 [1] | 강걍겅경 | 2013.02.28 | 26067 |
2043 | CAD 2014 버전 [1] | 띵호야 | 2013.05.22 | 24049 |
2042 | dreamsub.dll 을 로드하는중 에러발생 [1] | ted | 2013.05.16 | 22528 |
안녕하세요.
VBA를 손 뗀지 너무 오래되어 (7년전?) 사실 잘 기억은 안 납니다.
VBA는 한줄 읽어 처리하는 방식입니다. 같은 한 줄씩 읽는 리습 보다는 빨라도 속도는 유리하지 않습니다.
(기회되면 .NET으로 해보세요)
그리고 1만개 교차를 각각 교차 검색이라면 실제 수행은 1만*1만 = 1억번 수행입니다.
교차 검색이라면 검색 끝난 것을 리스트에서 빼내서 다음 번 교차 검색 안 되도록 순환 횟수를 줄이는 것이 나을 것 같습니다.
아니면 객체를 조금씩 검색하던가 해야겠죠.
그냥 1만개 한번 검색하고 마는 일방향 검색이라면 순환 회수 줄일 수는 없을 것 같습니다.
ip 변수에 값이 없으면 Ubound 에러날테니
ip 변수를 Variant 형으로 하고 If IsEmpty(ip) Then 해서 값이 없으면 건너 뛰게 하는 것이 나을 것 같습니다.
문법이 잘 기억 안 나서 상세 답변은 못드릴 것 같습니다.