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 | 2756 |
공지 | 제목이 엉망이면 답변달지 않습니다. [1] | 아저씨 | 2014.04.04 | 23846 |
공지 | 순수 캐드 질문은 고캐드로 | 아저씨 | 2013.05.28 | 68628 |
공지 | 질문 답변 게시판을 만들었습니다. | 아저씨 | 2013.02.09 | 74940 |
2026 | 파일 저장시 읽기전용으로 저장되는 경우 [1] | 김재영 | 2013.03.05 | 2827 |
2025 | ZWCAD 프로그램에서 실행가능한가요? [2] | 루씨 | 2013.03.07 | 3816 |
2024 | 캐드를 킬때마다 드림 아이콘툴이 다 튀어나와요~ [3] | 쩔어욘 | 2013.03.07 | 2644 |
2023 | 자동화오류입니다 [1] | 드리쁘드 | 2013.03.07 | 4200 |
2022 | 캐드 2010 드림실행시 [1] | 하하 | 2013.03.07 | 8344 |
2021 | 종속된 라인타입 삭제문의 [4] | 손바닥 | 2013.03.08 | 4314 |
2020 | 드림 명령 실행시 VBA 설치되지 않음 으로 나오네요 [3] | 초식남 | 2013.03.08 | 3808 |
2019 | 다중offset 관련 질문드립니다. [2] | 이유현 | 2013.03.08 | 4102 |
2018 | 접근 위반 [1] | 심마에 | 2013.03.09 | 3288 |
2017 | 진심으로 존경하는 개발자님~! 64비트에 관하여서; [3] | 1111 | 2013.03.11 | 2737 |
2016 | 윈8은 아직 호환이 안되는거죠? 개발자님 [1] | 이카루스 | 2013.03.11 | 2629 |
2015 | 다중 플롯문의입니다 [3] | 덴 | 2013.03.11 | 3379 |
2014 | 여러화일 open 할때 [2] | 초이 | 2013.03.11 | 2590 |
2013 | &H8007007E (-2147024770) 시스템 오류가 발생하였습니다. 지정된 모듈을 찾을 수 없습니다. [1] | 계장쟁이 | 2013.03.11 | 38173 |
2012 | 다른이름으로 저장... [3] | 씨빌3D | 2013.03.12 | 2690 |
안녕하세요.
VBA를 손 뗀지 너무 오래되어 (7년전?) 사실 잘 기억은 안 납니다.
VBA는 한줄 읽어 처리하는 방식입니다. 같은 한 줄씩 읽는 리습 보다는 빨라도 속도는 유리하지 않습니다.
(기회되면 .NET으로 해보세요)
그리고 1만개 교차를 각각 교차 검색이라면 실제 수행은 1만*1만 = 1억번 수행입니다.
교차 검색이라면 검색 끝난 것을 리스트에서 빼내서 다음 번 교차 검색 안 되도록 순환 횟수를 줄이는 것이 나을 것 같습니다.
아니면 객체를 조금씩 검색하던가 해야겠죠.
그냥 1만개 한번 검색하고 마는 일방향 검색이라면 순환 회수 줄일 수는 없을 것 같습니다.
ip 변수에 값이 없으면 Ubound 에러날테니
ip 변수를 Variant 형으로 하고 If IsEmpty(ip) Then 해서 값이 없으면 건너 뛰게 하는 것이 나을 것 같습니다.
문법이 잘 기억 안 나서 상세 답변은 못드릴 것 같습니다.