Środowisko pracy Część

From FreeCAD Documentation
Revision as of 10:57, 20 October 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

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.

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.

  • Sześcian: Rysuje sześcian przez ustawienie jego wymiarów
  • Walec: Rysuje walec przez ustawienie jego wymiarów
  • Kula: Rysuje kulę przez ustawienie jej wymiarów
  • Stożek: Rysuje stożek przez ustawienie jego wymiarów
  • Torus: Rysuje torus przez ustawienie jego wymiarów
  • CreatePrimitives: Narzędzie do tworzenia różnych geometrycznych prymitywów parametrycznych.
  • 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.

  • Wyciągnięcie: Wyciąga płaskie powierzchnie obiektu
  • Obrót: Tworzy obiekt przez obrót innego obiektu wokół osi
  • Mirror: Powoduje odbicie lustrzane wybranego obiektu na danej płaszczyźnie lustra
  • Zaokrąglenie: Zaokrągla krawędzie obiektu
  • Chamfer: Krawędzie krawędzi obiektu
  • Ruled Surface:
  • Loft: Lofty z jednego profilu do drugiego
  • Sweep: Zamiata jeden lub więcej profili wzdłuż ścieżki
  • Thickness: Hollows out a solid, leaving openings next to select faces.

Measure

File:Std Measure Menu.png Measure: Allows linear and angular measurement between points, edges, and faces.

Other tools

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.

The "Part::TopoShape" is the geometrical object that is seen on screen. Essentially all workbenches use these TopoShapes internally to build and display edges, faces, and solids.

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.

The most basic object that can be created is a Part Feature, which has a simple DANEPlacement property, and basic properties to define its color and appearance.

Another simple object used in 2D geometrical objects is Part Part2DObject, which is the base of Sketches, and most Draft elements.

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

Mesh Module/pl
Drawing Module/pl