Changes between Version 8 and Version 9 of PythonOcc/elbow
- Timestamp:
- Oct 29, 2013, 12:05:56 AM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PythonOcc/elbow
v8 v9 51 51 [http://api.pythonocc.org/OCC.BRepPrimAPI.BRepPrimAPI_MakeCylinder-class.html BRepPrimAPI_MakeCylinder]. 52 52 Za 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 55 from OCC.gp import * 56 from OCC.Display.SimpleGui import * 57 from OCC.BRepPrimAPI import * 58 59 R = 30 60 L = 150 61 p = gp_Pnt(0., 0., 0.) 62 d = gp_Dir(1., 0., 0.) 63 myAxes1 = gp_Ax2(p,d) 64 myPrim1 = BRepPrimAPI_MakeCylinder(myAxes1, R, L) 65 (display, start_display, add_menu, add_function_to_menu) = init_display() 66 display.DisplayShape(myPrim1.Shape()) 67 start_display() 68 }}} 53 69 54 70 55 Podobno kot pri gradnji primitiva lahko prikaz cilindra dopolnimo s spremembo barve ali predpisani lastnosti materiala površine. 71 Podobno 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')}}} 73 ali 74 {{{ 75 #!python 76 from OCC.Graphic3d import * 77 #... 78 material = Graphic3d_MaterialAspect(Graphic3d_NOM_SILVER) 79 display.DisplayShape(myPrim1.Shape(), material) 80 }}} 56 81