Changes between Version 42 and Version 43 of PythonOcc/primitives


Ignore:
Timestamp:
Nov 9, 2015, 3:04:43 PM (8 years ago)
Author:
dpenko
Comment:

Posodobil kodo pri "Izdelava posnetij (Chamfer)"

Legend:

Unmodified
Added
Removed
Modified
  • PythonOcc/primitives

    v42 v43  
    477477from OCC.TopoDS import *
    478478from OCC.TColgp import *
    479 from OCC.Display.OCCViewer import *
    480479}}}
    481480Pri apliciranju vseh vrst zaokrožitev je potrebno imeti podatek o robu oziroma točki kamor hočemo izvesti zaokrožitev ter o parametrih zaokrožitve (radij zaokrožitve).
     
    614613from OCC.TopExp import* #knjiznica z topoloskimi elementi
    615614from OCC.BRepFilletAPI import * #Knjiznica z zaokrozitvami
    616 from OCC.Utils.Topology import *
    617615from OCC.BRep import *
     616from OCC.TopExp import *
     617from OCC.TopAbs import *
     618from OCC.TopTools import *
     619from OCC.TopoDS import *
     620from OCC.TColgp import *
    618621}}}
    619622Izdelava posnetja poteka podobno, kakor izdelava zaokrožitve, saj imamo za vir ukazov isto knjižnico BRepFilletAPI. Na enak način, kot v primeru zaokrožitve, določimo uporabo posnetja:
     
    631634{{{
    632635#!python
    633 posnetje = BRepFilletAPI_MakeChamfer(Oblika)
    634 topology_traverser = Topo(Oblika)
    635 for aEdge in topology_traverser.edges():
    636     first, last = TopExp().FirstVertex(aEdge), TopExp().LastVertex(aEdge)
     636posnetje = BRepFilletAPI_MakeChamfer(Olika)
     637Razdalja = 20 #Poljubno
     638topExp = TopExp_Explorer()
     639anEdgeExplorer = TopExp_Explorer(Oblika, TopAbs_EDGE)
     640aFaceExplorer = TopExp_Explorer(Oblika, TopAbs_FACE)
     641
     642#Naredimo seznam, ki vsebuje vse površine
     643face_results = []
     644while aFaceExplorer.More():
     645   aFace = topods().Face(aFaceExplorer.Current())
     646   face_results.append(aFace)
     647   aFaceExplorer.Next()
     648aFaceExplorer.ReInit()
     649
     650while anEdgeExplorer.More():
     651    edge = topods.Edge(anEdgeExplorer.Current())
     652    first, last = topexp_FirstVertex(edge), topexp_LastVertex(edge)
    637653    first_vert, last_vert = BRep_Tool().Pnt(first), BRep_Tool().Pnt(last)
    638     if first_vert.Z()==Visina and last_vert.Z()==Visina:
    639         for aFace in topology_traverser.faces():
    640                 posnetje.Add(Razdalja, Rob, Povrsina)
    641 #                posnetje.Add(Razdalja_1, Razdalja_2, Rob, Povrsina)
     654    if first_vert.Z()==b and last_vert.Z()==b:
     655        for face in face_results:
     656            posnetje.Add(Razdalja, edge, face)
    642657    if first_vert.Z()==0 and last_vert.Z()==0:
    643         for aFace in topology_traverser.faces():
    644                 posnetje.Add(Razdalja, Rob, Povrsina)
    645 #                posnetje.Add(Razdalja_1, Razdalja_2, Rob, Povrsina)
    646 kocka = posnetje
     658        for face in face_results:
     659            posnetje.Add(Razdalja, edge, face)
     660    anEdgeExplorer.Next()
     661posnetje.Build()
     662kocka = posnetje.Shape()
    647663}}}
    648664