2016-09-09 8 views
5

アーキテクチャモジュールで使用するためにFreeCADにアーチを作成したいと思います。 OpenSCADでは、次のようになりたい:FreeCADでアーキテクチャ用のアーチを作成するには?

Arch in OpenSCAD

出典:

rotate(270, v=[1,0,0]) {difference() {rotate_extrude(fn=500) {translate([750, 0, 0])square([400,400]);}; 
translate([-2000, 0, 0]) {cube([4000, 1500, 1500]);}; 
}}; 

私は機能をスナップグリッドを使用してのことができるようにするためのソリューションを希望されていないため、OpenSCADモジュールを使用しますOpenScriptのソースコード(FreeCADでは明らかに必要)から削除したり再作成したりせずにアーチを編集してください。

明らかにアーキテクチャモジュール(= Arch)を参照するだけで表示されるため、検索エンジンでソリューションを検索することは不可能です。

答えて

2

それはアーチ

  • の顔を表す部品設計モードでスケッチを作成

    • によってアーキテクチャのモジュールで使用するためのアーチを作成アーチモードでの構造を作ることが可能です

    等価FreeCADのスクリプトコードは:

    import Part 
    import Sketcher 
    import Arch 
    
    App.newDocument("Unnamed") 
    App.setActiveDocument("Unnamed") 
    App.ActiveDocument=App.getDocument("Unnamed") 
    Gui.ActiveDocument=Gui.getDocument("Unnamed") 
    Gui.activateWorkbench("PartDesignWorkbench") 
    App.activeDocument().addObject('Sketcher::SketchObject','Sketch') 
    App.activeDocument().Sketch.Placement = App.Placement(App.Vector(0.000000,0.000000,0.000000),App.Rotation(-0.707107,0.000000,0.000000,-0.707107)) 
    #Gui.activeDocument().activeView().setCamera('#Inventor V2.1 ascii \n OrthographicCamera {\n viewportMapping ADJUST_CAMERA\n position 0 -87 0 \n orientation -1 0 0 4.712389\n nearDistance -112.88701\n farDistance 287.28702\n aspectRatio 1\n focalDistance 87\n height 143.52005\n\n}') 
    Gui.activeDocument().setEdit('Sketch') 
    App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(0.000000,-0.000000,0),App.Vector(0,0,1),200.000000),0.000000,3.141593)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',0,3,-1,1)) 
    App.ActiveDocument.Sketch.addGeometry(Part.ArcOfCircle(Part.Circle(App.Vector(0.000000,-0.000000,0),App.Vector(0,0,1),300.000000),0.000000,3.141593)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',1,3,-1,1)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',1,2,-1)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('PointOnObject',1,1,-1)) 
    App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(-300.000000,-0.000000,0),App.Vector(-200.000000,-0.000000,0))) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,1,1,2)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',2,2,0,2)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',2)) 
    App.ActiveDocument.Sketch.addGeometry(Part.Line(App.Vector(200.000000,-0.000000,0),App.Vector(300.000000,-0.000000,0))) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,1,0,1)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Coincident',3,2,1,1)) 
    App.ActiveDocument.Sketch.addConstraint(Sketcher.Constraint('Horizontal',3)) 
    Gui.activeDocument().resetEdit() 
    App.ActiveDocument.recompute() 
    Gui.activateWorkbench("ArchWorkbench") 
    Gui.activeDocument().activeView().viewAxometric() 
    Arch.makeStructure(FreeCAD.ActiveDocument.Sketch) 
    FreeCAD.getDocument("Unnamed").getObject("Structure").Height = '100 mm' 
    Gui.SendMsgToActiveView("ViewFit") 
    App.ActiveDocument.recompute() 
    Gui.SendMsgToActiveView("ViewFit") 
    
  • 関連する問題