-2

CADアプリケーションで接続された線のセットをソリッドに変換するにはどうすればよいですか?使用されているツールは、AutoCAD、SketchUp、Solidworks、FreeCAD、またはこの単純なタスクを簡単に実行できることがわかっているその他のソフトウェアです。次の図はデモンストレーション専用であることに注意してください。望ましい結果は、ブール演算などの関連するすべての演算を適用できる有効なCADソリッドである必要があります。

ここに画像の説明を入力してください

手動でのアプローチは適切ではないため、作業は数千回行う必要があることを覚えておいてください。この仕事のためのコードを書くための助けさえ(どんな言語でも)大いに感謝されているので、例えば、Solidだけのために単純なDXFライターをコーディングする方法を説明するかもしれません。PythonでのいくつかのDXFエクスポーターでのプレイは成功しませんでした。

更新:SketchUp用の単純なRubyコード、AutoCAD用のVBAコード、またはFreeCAD用のPythonが最も役立つ可能性があります。

4

2 に答える 2

3

これがいくつかのGoogleSketchUpRubyAPIスニペットです。Edge#find_facesSketchUpが特定のエッジで可能な面を見つけようとする方法を使用すると、非常に簡単です。https://developers.google.com/sketchup/docs/ourdoc/edge#find_faces

現在選択されている顔を検索します。

# 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

現在のコンテキストの顔を検索します。

# 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 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

このためにDWGファイルのバッチを処理する必要がある場合はModel#import、DWGファイルのインポートを使用してそれを自動化することもできます。https://developers.google.com/sketchup/docs/ourdoc/model#import

これは、エッジが同一平面上のサーフェスの境界であることを前提としています。インポートするワイヤーグリッドが1つを表すことができる場合にのみ、ソリッドを取得します。

于 2012-04-10T08:59:01.833 に答える
1

線のコレクションからメッシュを作成でき、そのメッシュが閉じている(水密)場合は、スクリプトでAutoCADのconvtosolidコマンドを使用できます。

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

このコマンドはAutoCAD2012の新機能だと思いますが、2011年のコマンドだったのではないでしょうか。

于 2013-03-07T14:53:40.900 に答える