wiki:PythonOcc/elbow

Version 6 (modified by Leon Kos, 10 years ago) (diff)

reposition

Komolec

Koordinatni sistem Na primeru komolca bomo pokazali osnovne operacije in gradnjo modela s PythonOcc za postavitev v globalnem koordinatnem sistemu podanem s tremi točkami:

  • p0 - središče komolca
  • p1 - točka ki podaja os axis1 iz središča p0
  • p2 - točka za drugo os axis2 iz središča p0

Cilj takega podajanja položaja je, da se poenostavi orientacijo in s tem tudi gradnjo sestavov iz tega in podobnih členkov. Model na skici naj bi omogočal tudi enostavno gradnjo sestavov. Skica kolena

Poleg globalnega določanja položaja želimo nadzorovati tudi stopnjo izdelave podrobnosti, saj se nekateri detajli ne potrebujejo za vse namene. Poglaviten namen je predvsem prikaz v sestavu. Takrat nahko zmanjšamo podrobnosti zaokrožitev in notranjosti.

Pričnemo z manjšim programom na katerega bomo postopoma dograjevali model. Kot osnovo vzamemo program s cilindrom. Osnutek

from OCC.Display.SimpleGui import *
from OCC.BRepPrimAPI import *
R = 30
L = 150
myPrim1 = BRepPrimAPI_MakeCylinder(R, L)
(display, start_display, add_menu, add_function_to_menu) = init_display()
display.DisplayShape(myPrim1.Shape())
start_display()

Za izdelavo cilindra smo uporabili API ukaze iz nabora OCC.BRepPrimAPI, ki poenostavljajo gradnjo osnovnih primitivov brez gradnje topologije. Prav tako je potrebno poudariti, da zaradi objektnega programiranja uporabimo različne izpeljanke iste funkcije. Tako je BRepPrimAPI_MakeCylinder možno klicati v naslednjih oblikah:

BRepPrimAPI_MakeCylinder(Standard_Real R, Standard_Real H) 
BRepPrimAPI_MakeCylinder(Standard_Real R, Standard_Real H, Standard_Real Angle)
BRepPrimAPI_MakeCylinder(gp_Ax2 Axes, Standard_Real R, Standard_Real H)
BRepPrimAPI_MakeCylinder(gp_Ax2 Axes, Standard_Real R, Standard_Real H, Standard_Real Angle)

kar lahko preverimo, če v Python Shell napišemo

>>> from OCC.BRepPrimAPI import *
>>> help(BRepPrimAPI_MakeCylinder)

ali si ogledamo spletna navodila za BRepPrimAPI_MakeCylinder.

Attachments (16)

Download all attachments as: .zip