Part Module

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of the page Part Module and the translation is 39% complete.

Outdated translations are marked like this.
Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎hrvatski • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎svenska • ‎Türkçe • ‎українська • ‎中文 • ‎中文(中国大陆)‎ • ‎中文(台灣)‎

Workbench Part.svg

Możliwości CAD FreeCADa wynikają z jądra OpenCasCade. Moduł Part pozwala FreeCADowi uzyskać dostęp do obiektów i funkcji OpenCasCade. OpenCascade jest profesjonalnym jądrem CAD, pozwalającym na zaawansowaną manipulację geometrią 3D i obiektami. Obiekty Części (Part), w przeciwieństwie do obiektów modułu Mesh, są dużo bardziej skomplikowane, zatem pozwalają na znacznie bardziej zaawansowane operacje, jak spójne operacje Boole'a, modyfikacje historii i zachowanie parametryczne.

The objects created with the Part Workbench are relatively simple; they are intended to be used with boolean operations (unions and cuts) in order to build more complex shapes. This modelling paradigm is known as the constructive solid geometry (CSG) workflow, and it was the traditional methodology used in early CAD systems. On the other hand, the PartDesign Workbench provides a more modern workflow to constructing shapes: it uses a parametrically defined sketch, that is extruded to form a basic solid body, which is then modified by parametric transformations (feature editing), until the final object is obtained.

Part objects are more complex than mesh objects created with the Mesh Workbench, as they permit more advanced operations like coherent boolean operations, modifications history, and parametric behaviour.

Part example.jpg

Part Workbench relationships.svg

The Part Workbench is the basic layer that exposes the OCCT drawing functions to all workbenches in FreeCAD


Narzędzia

Narzędzia modułu zlokalizowane są w menu Part, które pojawia się po załadowaniu modułu.

Prymitywy

Narzędzia do tworzenia prymitywów.

  • Part Box.png Sześcian: Rysuje sześcian przez ustawienie jego wymiarów
  • Part Cylinder.png Walec: Rysuje walec przez ustawienie jego wymiarów
  • Part Sphere.png Kula: Rysuje kulę przez ustawienie jej wymiarów
  • Part Cone.png Stożek: Rysuje stożek przez ustawienie jego wymiarów
  • Part Torus.png Torus: Rysuje torus przez ustawienie jego wymiarów
  • Part CreatePrimitives.png CreatePrimitives: Narzędzie do tworzenia różnych geometrycznych prymitywów parametrycznych.
  • Part Shapebuilder.png Shapebuilder: Narzędzie do tworzenia bardziej złożonych kształtów z różnych parametrycznych prymitywów geometrycznych

Modyfikacja obiektów

Narzędzia do modyfikacji istniejących obiektów.

  • Part Extrude.png Wyciągnięcie: Wyciąga płaskie powierzchnie obiektu
  • Part Revolve.png Obrót: Tworzy obiekt przez obrót innego obiektu wokół osi
  • Part Mirror.png Mirror: Powoduje odbicie lustrzane wybranego obiektu na danej płaszczyźnie lustra
  • Part Fillet.png Zaokrąglenie: Zaokrągla krawędzie obiektu
  • Part Chamfer.png Chamfer: Krawędzie krawędzi obiektu
  • Part RuledSurface.png Ruled Surface:
  • Part Loft.png Loft: Lofty z jednego profilu do drugiego
  • Part Sweep.png Sweep: Zamiata jeden lub więcej profili wzdłuż ścieżki
  • Part CompOffsetTools.png Offset tools:
    • Part Offset.png 3D Offset: Constructs a parallel shape at a certain distance from original.
    • Part Offset2D.png 2D Offset: Constructs a parallel wire at certain distance from original, or enlarges/shrinks a planar face. (v0.17)
  • Part Thickness.png Thickness: Hollows out a solid, leaving openings next to select faces.
  • Part ProjectionOnSurface.png Projection on surface: Project a logo, text or any face,wire,edge to a surface. With the projection part it is possible to create a solid or wire. (v0.19)
  • Part CompJoinFeatures.png Join features: smart booleans for walled objects (e.g., pipes) (v0.16)
    • Part JoinConnect.png Connect: Connects interiors of objects (v0.16)
    • Part JoinEmbed.png Embed: Embeds a walled object into another walled object (v0.16)
    • Part JoinCutout.png Cutout: Creates a cutout in a wall of an object for another walled object (v0.16)
  • Part CompSplittingTools.png Splitting tools: (v0.17)
    • Part BooleanFragments.png Boolean fragments: makes all the pieces that can be obtained by Boolean operations between objects (v0.17)
    • Part SliceApart.svg Slice a part: tool to split shapes by intersection with other shapes
    • Part Slice.png Slice: Splits an object into pieces by intersections with another object (v0.17)
    • Part XOR.png XOR: removes space shared by even number of objects (symmetric version of Cut) (v0.17)

Other tools

  • Part ImportCAD.png Import CAD: This tool allows you to add a file *.IGES, *.STEP, *.BREP to the current document.
  • Part ExportCAD.png Export CAD: This tool allows you to export a part object in a *.IGES, *.STEP, *.BREP file.
  • Part ShapeFromMesh.png Shape from Mesh: Creates a shape object from a mesh object.
  • Convert to solid: Converts a shape object to a solid object.
  • Reverse shapes: Flips the normals of all faces of the selected object.
  • Part CreateSimpleCopy.svg Create simple copy: Creates a simple copy of the selected object.
  • Part RefineShape.png Refine shape: Cleans faces by removing unnecessary lines.
  • Part CheckGeometry.png Check geometry: Checks the geometry of selected objects for errors.
  • Measure: Allows linear and angular measurement between points/edges/faces.
  • Part Attachment.svg Attachment: Attachment is a utility to attach an object to another one.

Preferences

Objaśnienie koncepcji

W terminologii OpenCasCade , rozróżniamy geometryczne prymitywy (primitives) i (topologiczne) kształty (shapes). Prymityw geometryczny może być punktem, prostą, okręgiem, płaszczyzną itp. lub trochę bardziej skomplikowanym typem jak krzywa czy powierzchnia. B-Spline. Kształt może być wierzchołkiem, krawędzią, przewodem (wire), ścianą, bryłą lub składać się z innych kształtów. Prymitywy geometryczne nie są stworzone w celu bezpośredniego wyświetlania w scenie 3D, a raczej do budowania geometrii dla kształtów. Na przykład, krawędź może być skonstruowana z linii lub z kawałka okręgu.

W celu podsumowania, powinniśmy powiedzieć, że prymitywy są "bezkształtnymi" klockami budującymi, kształtu są rzeczywistą geometrią zbudowaną na nich.

By uzyskać pełną listę, zapoznaj się z dokumentacją OCC i szukaj Geom_Geometry oraz TopoDS_Shape. Możesz tam także więcej przeczytać o różnicach pomiędzy obiektami geometrycznymi a kształtami. Proszę odnotować, że dokumentacja OCC niestety nie jest dostępna online (musisz ściągnąć archiwum) i celuje głównie w programistów, nie użytkowników końcowych. Ale miejmy nadzieję, że znajdziesz dość informacji by zacząć tutaj.

Typy geometryczne są aktualnie podzielone na dwie główne grupy: krzywe i powierzchnie. wychodząc z krzywych (prosta, okrąg, ...) możesz bezpośredni zbudować krawędź, wychodząc z powierzchni (płaszczyzna, walec, ...) może być zbudowana ściana. Np. geometryczny prymityw prostej jest nieograniczony, innymi słowy jest zdefiniowany przez wektor bazowy i wektor kierunku kiedy jego reprezentacja kształtu ograniczona jest przez punkty: początkowy o koncowy. i sześcian -- bryła -- może być stworzony z sześciu ograniczonych płaszczyzn.

Z krawędzi lub ściany możesz wrócić do postaci prymitywu.

W ten sposób, z kształtów możesz zbudować bardzo skomplikowane części lub, innym razem zaokrąglić, wyciągnąć cały podkształt by uzyskać bardziej skomplikowany kształt.

Skryptowanie

See also: Part scripting

Główna sktuktura danych używana w module Part to BRep pochodzące z OpenCascade. Wszelkie treści i typy obiektów modułu Part są aktualnie dostępne przez skryptowanie w pythonie. Zawiera ono prymitywy geometryczne, jak Linia lub Okrąg (lub Łuk) i cały zakres TopoKształtów (TopoShapes), jak Wierzchołki, Krawędzie, Przewody, Ściany, Bryły lite i Złożenia. Dla każdego z tych obiektów, istnieje kilka metod tworzeni. Niektóre z nich, szczególnie TopoKształty, zaawansowane operacje jak unie/różnice/wycięcia są także dostępne. Eksploracja treści modułu Part, jest opisana szerzej na stronie Podstawy skryptowania we FreeCADzie.

Examples

By stworzyć prostą, włącz konsolę Pythona i wpisz:

import Part,PartGui 
doc=App.newDocument()  
l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)
doc.addObject("Part::Feature","Line").Shape=l.toShape() 
doc.recompute()

Przejdźmy przez przykład pythona, krok po kroku:

import Part,PartGui
doc=App.newDocument()

ładuje moduł Part i tworzy nowy dokument

l=Part.LineSegment()
l.StartPoint=(0.0,0.0,0.0)
l.EndPoint=(1.0,1.0,1.0)

Prosta jest aktualnie odcinkiem, stąd punkt startowy i końcowy.

doc.addObject("Part::Feature","Line").Shape=l.toShape()

To dodaje do dokumentu obiekt typu Part i przypisuje reprezentację kształtu odcinka do właściwości 'Shape' dodanego obiektu. Ważne jest zrozumienie, że tutaj używamy geometrycznych prymitywów (Part.line) do stworzenia z nich TopoKształtu (metoda toShape()). Tylko Kształty mogą być dodane do dokumentu. We FreeCADzie, geometryczne prymitywy są "strukturami budującymi" dla Kształtów.

doc.recompute()

Aktualizuje dokument. Także przygotowuje wizualizację nowej części.

Zauważ, że Prosta (Line) może być stworzona przez sprecyzowanie punktu startowego i końcowego bezpośrednio. Dla przykładu Part.Line(point1,point2) lub możemy stworzyć domyślną prostą ustawić jej właściwości później, jak zrobiliśmy tutaj.

Okrąg może być stworzony w podobny sposób:

import Part
doc = App.activeDocument()
c = Part.Circle() 
c.Radius=10.0  
f = doc.addObject("Part::Feature", "Circle")
f.Shape = c.toShape()
doc.recompute()

Zauważ znów, użyliśmy okręgu (geometryczny prymitiw) do stworzenia kształtu z niego. Oczywiście później możemy uzyskać dostęp do naszej konstrukcji, przez zrobienie:

s = f.Shape
e = s.Edges[0]
c = e.Curve

Tutaj wzieliśmy kształt naszego obiektu f, następnie pobraliśmy listę krawędzi, w tym przypadku będzie tylko jedna, bo zrobiliśmy cały kształt tylko z jednego okręgu, więc bierzemy tylko pierwszy element z listy Krawędzi (Edges list), i bierzemy jego Krzywą (Curve). Każda Krawędź ma Krzywą, która jest bazą dla prymitywu.

Przejdź do Topologicznego skryptowania danych jeśli chcesz wiedzieć więcej.

Tutorials