2pyramid, Solid Only, DWire* Delete
Code: Select all
# -*- coding: utf-8 -*-
import FreeCAD
import Part
import DraftTools
import Draft
def fcPyramid(x,y,b,h):
x1=x
y1=y
z1=0
x2=x+b
y2=y
z2=0
x3=x+b
y3=y+b
z3=0
x4=x
y4=y+b
z4=0
x5=x+b*.5
y5=y+b*.5
z5=h
points=[FreeCAD.Vector(x1,y1,z1),FreeCAD.Vector(x2,y2,z2),FreeCAD.Vector(x3,y3,z3),FreeCAD.Vector(x4,y4,z4)]
Draft.makeWire(points,closed=True,face=True,support=None)
points=[FreeCAD.Vector(x1,y1,z1),FreeCAD.Vector(x2,y2,z2),FreeCAD.Vector(x5,y5,z5)]
Draft.makeWire(points,closed=True,face=True,support=None)
points=[FreeCAD.Vector(x2,y2,z2),FreeCAD.Vector(x3,y3,z3),FreeCAD.Vector(x5,y5,z5)]
Draft.makeWire(points,closed=True,face=True,support=None)
points=[FreeCAD.Vector(x3,y3,z3),FreeCAD.Vector(x4,y4,z4),FreeCAD.Vector(x5,y5,z5)]
Draft.makeWire(points,closed=True,face=True,support=None)
points=[FreeCAD.Vector(x4,y4,z4),FreeCAD.Vector(x1,y1,z1),FreeCAD.Vector(x5,y5,z5)]
Draft.makeWire(points,closed=True,face=True,support=None)
myWedgei='myPyramid_x' + str(x) + 'y' + str(y)
App.activeDocument().addObject("Part::MultiFuse",myWedgei)
App.activeDocument().Fusion.Shapes = [App.activeDocument().DWire,App.activeDocument().DWire001,App.activeDocument().DWire002,App.activeDocument().DWire003,App.activeDocument().DWire004]
App.ActiveDocument.recompute()
#
b=1
h=1
fcPyramid(0,0,b,h)
fcPyramid(2,0,b,h)
#
Gui.activeDocument().activeView().viewAxonometric()
Gui.SendMsgToActiveView("ViewFit")