Changes between Version 8 and Version 9 of PythonOcc/elbow


Ignore:
Timestamp:
Oct 29, 2013, 12:05:56 AM (6 years ago)
Author:
Leon Kos
Comment:

Material

Legend:

Unmodified
Added
Removed
Modified
  • PythonOcc/elbow

    v8 v9  
    5151[http://api.pythonocc.org/OCC.BRepPrimAPI.BRepPrimAPI_MakeCylinder-class.html BRepPrimAPI_MakeCylinder].
    5252Za naš namen postavljanja cilindra v globalni prostor je primernejša funkcija s parametri, ki poda še os poleg premera in višine. Za podajanje osi gp_Ax2 se uporablja dva 3D vektorja. Prvi je izhodiščni položaj drugi pa usmeritev. Vsi ti vektorja so podani v knjižnici `gp` (general purpose). Knjižnica gp podpira različne tipe vektorjev od 2D do 3D čeprav so načeloma istega ranka predvsem zaradi tega, da se da enostavno pretvarjati iz enega tipa v drugi. Tako imamo v gp_Ax2 točko in smerni vektor, ki sestavlja podatka za os. Običajno je tako, da najprej pogledamo možne izpeljane funkcije in izberemo inačico z nam najprimernejšimi podatki. Nato glede na zahtevane vhodne argumente pripravimo v obliki, ki je najkrajša in ustreza namenu. Prav tako želimo pripraviti model tako, da se glavne dimenzije postavi kot parametre s katerimi lahko enostavno spremenimo model. V našem primeru sta to R in L. Razširitev programa s knjižnico gp je naslednja
     53{{{
     54#!python
     55from OCC.gp import *
     56from OCC.Display.SimpleGui import *
     57from OCC.BRepPrimAPI import *
     58
     59R = 30
     60L = 150
     61p = gp_Pnt(0., 0., 0.)
     62d = gp_Dir(1., 0., 0.)
     63myAxes1 = gp_Ax2(p,d)
     64myPrim1 = BRepPrimAPI_MakeCylinder(myAxes1, R, L)
     65(display, start_display, add_menu, add_function_to_menu) = init_display()
     66display.DisplayShape(myPrim1.Shape())
     67start_display()
     68}}}
    5369
    5470
    55 Podobno kot pri gradnji primitiva lahko prikaz cilindra dopolnimo s spremembo barve ali predpisani lastnosti materiala površine.
     71Podobno kot pri gradnji primitiva lahko prikaz cilindra dopolnimo s spremembo barve ali predpisani lastnosti materiala površine s tem da uporabimo
     72 {{{display.DisplayColoredShape(myPrim1.Shape(), 'CYAN')}}}
     73ali
     74{{{
     75#!python
     76from OCC.Graphic3d import *
     77#...
     78material = Graphic3d_MaterialAspect(Graphic3d_NOM_SILVER)
     79display.DisplayShape(myPrim1.Shape(), material)
     80}}}
    5681