2012-03-18 5 views
-2

CAD 응용 프로그램에서 연결된 선 세트를 솔리드로 변환하는 방법은 무엇입니까? 도구가 AutoCAD, SketchUp, Solidworks, FreeCAD 또는 다른 소프트웨어이 될 수 있습니다.이 간단한 작업을 쉽게 할 수 있습니다. 다음 그래픽은 데모 용입니다. 는CAD : 프로그래밍 방식으로 솔리드 한 선

enter image description here

그냥 일을 기억이 그래서 수동 방식이 적합하지 않은 수천 번 수행해야 할 등 부울 것과 관련된 모든 작업을 적용 할 수있을 고체 유효한 CAD해야 결과 원했다. 이 작업을위한 코드를 작성하는 데 도움이 될지라도 (모든 언어로) 많은 평가를 받고 있으므로 예를 들어 솔리드만을위한 간단한 DXF 작성기를 코딩하는 방법을 설명 할 수 있습니다. 파이썬에서 일부 DXF 수출 업체와의 게임은 성공적이지 못했습니다.

Upadate : SketchUp 용 간단한 Ruby 코드 또는 AutoCAD 용 Python 또는 FreeCAD 용 Python이 가장 도움이 될 수 있습니다.

+0

Autodesk Inventor를 사용해보십시오 – lllluuukke

+0

필요한 결과 형식은 무엇입니까? 제목/질문에 "프로그래밍 방식으로"단어를 추가 할 수 있습니다. – agf

+0

'연결선 세트'의 입력 형식은 무엇입니까? 그 선의 CAD 도면? 텍스트 파일에서 데이터를 조정 하시겠습니까? –

답변

3

여기에 일부 Google SketchUp Ruby API 발췌 문장이 있습니다. SketchUp에서 주어진 가장자리의 가능한면을 찾으려고하는 Edge#find_faces 메서드를 사용하면 매우 간단합니다. https://developers.google.com/sketchup/docs/ourdoc/edge#find_faces

하는 것은 현재의 선택을 위해 얼굴을 찾기 :

# Find faces for all edges in model: 
model = Sketchup.active_model 
model.start_operation('Find Faces in Whole Model', true) 
for entity in model.entities.to_a 
    next unless entity.is_a?(Sketchup::Edge) 
    entity.find_faces 
end 
for definition in model.definitions 
    next if definition.image? 
    for entity in definition.entities.to_a 
    next unless entity.is_a?(Sketchup::Edge) 
    entity.find_faces 
    end 
end 
model.commit_operation 

당신이해야하는 경우 :

# Find faces for current context: 
model = Sketchup.active_model 
model.start_operation('Find Faces in Current Context', true) 
for entity in model.active_entities.to_a 
    next unless entity.is_a?(Sketchup::Edge) 
    entity.find_faces 
end 
model.commit_operation 

하는 모델의 모든 모서리에 얼굴을 찾기 :

# Find faces for selected edges: 
model = Sketchup.active_model 
model.start_operation('Find Faces in Selection', true) 
for entity in model.selection.to_a 
    next unless entity.is_a?(Sketchup::Edge) 
    entity.find_faces 
end 
model.commit_operation 

은 현재 컨텍스트에 대한 얼굴 찾기 이 DWG 파일의 배치를 처리하면을 사용하여 자동화 할 수 있습니다.을 사용하여 DWG 파일을 가져옵니다. https://developers.google.com/sketchup/docs/ourdoc/model#import

여기서는 모서리가 경계면이 동일면이라고 가정합니다. 가져온 와이어 그 리드 (wiregrid)가 하나를 나타낼 수있는 경우에만 단색을 얻을 수 있습니다.

+0

좋은 답변을 주셔서 대단히 감사합니다. 이것은 오래된 문제를 해결하는 데 정말로 도움이됩니다. – Developer

+0

+1000 답변에 주어진 매우 흥미로운 링크에 대해 다시 한 번 감사드립니다. 그들은 사랑스러운 자원입니다.그 놀라운 답변입니다 :) – Developer

1

당신이 라인의 컬렉션에서 메쉬를 구축 할 수 있습니다, 그 메쉬 (물 꽉) 닫혀있는 경우, 당신은 스크립트에서 AutoCAD를 CONVTOSOLID 명령을 사용할 수있는 경우 :

http://docs.autodesk.com/ACAD_E/2012/ENU/filesACR/WS1a9193826455f5ffa23ce210c4a30acaf-4cf2.htm

나는 생각 명령은 AutoCAD 2012의 새로운 기능이지만 2011 년에도 사용했을 수 있습니다.

+0

링크를 제공하여 주셔서 감사합니다. – Developer