끊어진 커브를 자동으로 연결해 주는 유틸리티입니다.
PEDIT의 join 기능으로 연결하지 못하는 커브를 연결하는데 사용합니다.
join기능은 연결하고자 하는 커브가 떨어져있을때는 연결해주지 않습니다.
사람의 육안으로는 붙어있는 것 같아도 미세하게 떨어진 커브를 찾아서
연결하는것 또한 쉽지 않은 작업일 것입니다.
ConnectingCurves는 이러한 불편함을 해결하고자 제작되었습니다.
현재는 떨어진 커브를 연결하는 단순한 방식을 사용하고 있습니다.
정확하게 커브간의 연장선 또는 교차점을 찾아서 연결하는 방식이 이상적이라
판단이 되나 추후에 수정하려 합니다.
[사용방법]
1. 오토캐드에서 netload 명령으로 ConnectingCurves.dll파일을 선택하여 로딩합니다.
2. ccvs 명령을 실행합니다.
3. "Select curves: " 커브를 선택합니다.
4. "Input limits length: " 입력한 값보다 작은 값으로 떨어진 커브는 모두 연결합니다.
(양끝 정점이 서로 연결된 커브들을 하나의 커브로 만들때에는 4번값을 0.0001으로 가급적, 0.0 에 근접한 값을 지정하면 효과적입니다)
[명령어]
가. 커브연결 : ccvs
[주의사항]
1. 한번에 많은 수의 엔티티를 선택하면 처리하는 데 많은 시간이 소요됩니다.
적당하게 선택해서 사용하시면 효과적입니다.
2. 연결시킨 커브는 LWPOLYLINE 형식으로 생성합니다. 따라서 Z값이 서로 다른
커브는 정상적으로 처리되지 않습니다.
3. 연결처리는 객체 선택 순서에 영향을 받습니다. 예를 들어 먼저 선택한 커브의 속성(레이어, 색상, 라인타입 등)들을
따라 커브를 생성합니다.
4. 스플라인 커브는 지원하지 않습니다.
나. 라인을 아크로 변경 : LS2A
1. Line 으로 연결된 선들을 호로 변경합니다.


시작점과 끝점이 같을때는 원으로 변환해 줍니다.
[프로그램]
덧글
설치 해서 실행해 봐야 겠습니다...
수고 하세요..
ConnectingCurves.2013.dll (AutoCAD R(LT)2013~2014 , 32/64, Dotnet Framework 4.0)
다운 받아서 사용해 보세요.
혹시 문제가 발생되면 댓글주세요.
<runtime> 태그 안에 아래와 같이 수정해 보세요.
<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/> <---------- 추가
</runtime>
</configuration>
그리고 테스트 부탁드리겠습니다.
이곳에 있는 닷넷 프로그램에서 발생하는 오류는 이 방식으로 해결할 수 있을것 같네요.
즐거운 하루되세요. ^^
2014버전 64비트입니다.
다운받아서 사용했는데 명령어가 안먹네요..
NETLOAD로 다운받은 파일 클릭하고 명령어 입력하니 CCVS치면 자동입력에도 안뜨고 명령어가 안먹네요.. 적용이 잘안된거같은데
다른방법없나요
한가지 여쭤보겠습니당
CAD 2008 64비트 사용중인데 2010버전만 인식이 되더라구요
LS2A 명령어 치고 깨진 선 선택 하면
Error : 메서드를 찾을 수 없습니다. 'Void
Autodesk.AutoCAD.DatabaseServices.Curve.ReverseCurve()'
이게 뜹니다..ㅠㅠ
캐드 2014에서는 NETLOAD로 불러오면
Cannot load assembly. Error details: System.IO.FileLoadException: Could not load file or assembly 'file:///C:ConnectingCurves.2012.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:ConnectingCurves.2012.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
at loadmgd()
이렇게 뜹니다..ㅠㅠ
닷넷버전이 맞질 않아서 발생되는 것 같습니다.
2008버전은 지원하지 않습니다. 개발에 사용된 API가 2010이후에서 지원하는 것을 사용했기 때문입니다. 지금으로서는 2008버전을 지원할 수 없는점 많은 양해 바랍니다.
(아마 인터넷에 잘 찾아보시면 리습으로 동작하는 유틸이 있을 겁니다. 이것을 사용하시길 권해드립니다.)
즐거운 하루되세요.
이 프로그램도 Autodesk App Store에 등록을 준비하면서 로딩의 문제를 수정하도록 하겠습니다. 대략 다음달 이면 사용해 보실수 있을것 같습니다. 완료되면 블로그에 다시 글 올려놓겠습니다.
오늘도 즐거운 하루되세요.^6
그럼 수정될때까지 기다리고 있겠습니다!
수고하세요~
https://cafe.naver.com/idwgtab/71
즐거운 하루되세요