Surface Filling/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "{{TitleProperty|Wypełnienie}}")
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 10: Line 10:
}}
}}


{{GuiCommand
{{GuiCommand/pl
|Name=Surface Filling
|Name=Surface Filling
|Name/pl=Powierzchnia 3D: Wypełnianie
|Name/pl=Powierzchnia 3D: Wypełnianie
Line 48: Line 48:
==Opcje==
==Opcje==


* In the {{MenuCommand|Boundaries}} section a support surface and boundary edges can specified:
* W sekcji {{MenuCommand|Granice}} można określić powierzchnię podparcia i krawędzie graniczne:
** Press the {{Button|Support surface}} button and select a face in the [[3D_view|3D view]] to add a support surface.
** Naciśnij przycisk {{Button|Powierzchnia podparcia}} i wybierz ścianę w oknie [[3D_view/pl|widoku 3D]], aby dodać powierzchnię podparcia.
*** Click the [[File:Edit-cleartext.svg|16px]] icon to remove the support surface.
*** Kliknij ikonę [[File:Edit-cleartext.svg|16px]], aby usunąć powierzchnię podparcia.
** Press the {{Button|Add edge}} button once to start selecting boundary edges in the [[3D_view|3D view]].
** Naciśnij przycisk {{Button|Dodaj krawędź}} raz, aby rozpocząć zaznaczanie krawędzi granicznych w oknie [[3D_view/pl|widoku 3D]].
** Istnieje kilka sposobów na usunięcie zaznaczenia krawędzi granicznych:
** There are several ways to deselect boundary edges:
*** Press the {{Button|Remove edge}} button once to start deselecting edges in the [[3D_view|3D view]].
*** Naciśnij przycisk {{Button|Usuń krawędź}} raz, aby rozpocząć odznaczanie krawędzi w oknie [[3D_view/pl|widoku 3D]].
*** Select an edge in the list and press {{KEY|Delete}}.
*** Zaznacz krawędź na liście i naciśnij klawisz {{KEY|Delete}}.
*** Right-click an edge in the list and select {{MenuCommand|Remove}} from the context menu.
*** Kliknij prawym przyciskiem myszy krawędź na liście i wybierz {{MenuCommand|Usuń}} z menu podręcznego.


* In the {{MenuCommand|Edge constraints}} section non-boundary edges can be specified:
* W sekcji {{MenuCommand|Wiązania krawędzi}} można określić krawędzie niebędące krawędziami granicznymi:
** Opcje wyboru są podobne do tych dla krawędzi granicznych.
** The selection options are similar to those for boundary edges.


* In the {{MenuCommand|Vertex constraints}} section non-boundary vertices can be specified:
* W sekcji {{MenuCommand|Wiązania wierzchołków}} można określić wierzchołki nie będące wierzchołkami granicznymi:
** Opcje wyboru są podobne do tych dla wierzchołków granicznych.
** The selection options are similar to those for boundary edges.


* Press {{KEY|Esc}} or the {{Button|Cancel}} button to abort the operation.
* Naciśnij przycisk {{KEY|Esc}} lub przycisk {{Button|Anuluj}} aby przerwać wykonywanie polecenia.


== Example ==
<span id="Example"></span>
==Przykład==


Polecenie {{MenuCommand|Powierzchnia podparcia}} działa jako dodatkowe ograniczenie dla powierzchni. Poniższy prosty przykład pozwoli zrozumieć, jak to działa:
The {{MenuCommand|Support surface}} acts as an additional constraint for the surface. The following simple example will give you an idea how this works:


# In the [[File:Workbench_Part.svg|16px]] [[Part_Workbench|Part Workbench]] create a [[File:Part_Cylinder.svg|16px]][[Part_Cylinder|cylinder]] and set its {{PropertyData|Angle}} to {{Value|180°}}.
# W środowisku pracy [[File:Workbench_Part.svg|16px]] [[Part_Workbench/pl|Część]] utwórz [[File:Part_Cylinder.svg|16px]] [[Part_Cylinder/pl|walec]] i ustaw jego {{PropertyData|kąt}} na {{Value|180°}}.
# Switch to the [[File:Workbench_Surface.svg|16px]] [[Surface_Workbench|Surface Workbench]] and press the {{Button|[[File:Surface_Filling.svg|16px]] [[Surface_Filling|Filling]]}} button.
# Przełącz się ponownie na środowisko pracy [[File:Workbench_Surface.svg|16px]] [[Surface_Workbench/pl|Powierzchnia 3D]] i naciśnij przycisk {{Button|[[File:Surface_Filling.svg|16px]] [[Surface_Filling/pl|Wypełnienie]]}}.
# Wybierz dwie półokrągłe krawędzie i dwie proste krawędzie, które je łączą.
# Select the two semi-circular edges and the two straight edges that connect them.
# Wynik jest zgodny z czterema krawędziami granicznymi, ale wewnętrzny kształt jest zupełnie inny od powierzchni cylindrycznej.
# The result matches the four boundary edges, but the inner shape is quite different from the cylindrical face.
# Edit the Surface object and for the {{MenuCommand|Support surface}} select the cylindrical face.
# Edytuj obiekt Powierzchnia i dla {{MenuCommand|Powierzchnia podparcia}} wybierz powierzchnię cylindryczną.
# Zmodyfikowany kształt znacznie lepiej pasuje do powierzchni walcowej.
# The modified shape matches the cylindrical face much more closely.


==Properties==
<span id="Properties"></span>
==Właściwości==


A [[Surface_Filling|Surface Filling]] ({{incode|Surface::Filling}} class) is derived from the basic [[Part_Feature|Part Feature]] ({{incode|Part::Feature}} class, through the {{incode|Part::Spline}} subclass), therefore it shares all the latter's properties.
Obiekt '''Wypełnienie''' ''(klasa {{incode|Surface::Filling}})'' jest pochodną podstawowej klasy [[Part_Feature/pl|Część: Cecha]] ''(klasa {{incode|Part::Feature}}, poprzez klasę podrzędną {{incode|Part::Spline}})'', dlatego też dzieli z nią wszystkie jej właściwości.


In addition to the properties described in [[Part_Feature|Part Feature]], the Surface Filling has the following properties in the [[Property_editor|property editor]].
Oprócz właściwości opisanych na stronie [[Part_Feature/pl|Cecha części]], obiekt Rozszerz powierzchnię, posiada następujące właściwości w [[Property_editor/pl|edytorze właściwości]].


<span id="Data"></span>
<span id="Data"></span>
Line 87: Line 89:
{{TitleProperty|Wypełnienie}}
{{TitleProperty|Wypełnienie}}


* {{PropertyData|Boundary Edges|LinkSubList}}: boundary edges; C0 is required for edges without a corresponding face.
* {{PropertyData|Boundary Edges|LinkSubList}}: Krawędzie graniczne, C0 jest wymagane dla krawędzi bez odpowiadającej im powierzchni.
* {{PropertyData|Boundary Faces|StringList}}:
* {{PropertyData|Boundary Faces|StringList}}:
* {{PropertyData|Boundary Order|IntegerList}}: order of constraint on boundary faces; {{Value|0}}, {{Value|1}}, and {{Value|2}} are possible.
* {{PropertyData|Boundary Order|IntegerList}}: Kolejność ograniczeń na powierzchniach granicznych; {{Value|0}}, {{Value|1}} i {{Value|2}} możliwe.
* {{PropertyData|Unbound Edges|LinkSubList}}: unbound constraint edges; C0 is required for edges without a corresponding face.
* {{PropertyData|Unbound Edges|LinkSubList}}: Nieograniczone krawędzie wiązania, C0 jest wymagane dla krawędzi bez odpowiedniej ściany.
* {{PropertyData|Unbound Faces|StringList}}:
* {{PropertyData|Unbound Faces|StringList}}:
* {{PropertyData|Unbound Order|IntegerList}}: order of constraint on unbound faces; {{Value|0}}, {{Value|1}}, and {{Value|2}} are possible.
* {{PropertyData|Unbound Order|IntegerList}}: Kolejność ograniczeń na niezwiązanych powierzchniach; {{Value|0}}, {{Value|1}} i {{Value|2}} możliwe.
* {{PropertyData|Free Faces|LinkSubList}}: free constraint on a face.
* {{PropertyData|Free Faces|LinkSubList}}: Wolne ograniczenie na powierzchni.
* {{PropertyData|Free Order|IntegerList}}: order of constraint on free faces.
* {{PropertyData|Free Order|IntegerList}}: Kolejność wiązań na wolnych powierzchniach.
* {{PropertyData|Points|LinkSubList}}: constraint points on surface.
* {{PropertyData|Points|LinkSubList}}: Punkty wiązania na powierzchni.
* {{PropertyData|Initial Face|LinkSub}}: initial surface to use.
* {{PropertyData|Initial Face|LinkSub}}: początkowa powierzchnia do użycia.
* {{PropertyData|Degree|Integer}}: starting degree, it defaults to {{Value|3}}.
* {{PropertyData|Degree|Integer}}: Stopień początkowy, domyślnie {{Value|3}}.
* {{PropertyData|Points On Curve|Integer}}: number of points on an edge for constraint.
* {{PropertyData|Points On Curve|Integer}}: Liczba punktów na krawędzi dla wiązania.
* {{PropertyData|Iterations|Integer}}: number of iterations, it defaults to {{Value|2}}.
* {{PropertyData|Iterations|Integer}}: Liczba iteracji, domyślnie {{Value|2}}.
* {{PropertyData|Anisotropy|Bool}}: it defaults to {{FALSE}}.
* {{PropertyData|Anisotropy|Bool}}: Wartość domyślna to {{FALSE/pl}}.
* {{PropertyData|Tolerance2d|Float}}: 2D tolerance, it defaults to {{Value|0.0}}.
* {{PropertyData|Tolerance2d|Float}}: Tolerancja 2D, domyślnie {{Value|0.0}}.
* {{PropertyData|Tolerance3d|Float}}: 3D tolerance, it defaults to {{Value|0.0}}.
* {{PropertyData|Tolerance3d|Float}}: Tolerancja 3D, domyślnie {{Value|0.0}}.
* {{PropertyData|Tol Angular|Float}}: G1 tolerance, it defaults to {{Value|0.01}}.
* {{PropertyData|Tol Angular|Float}}: Tolerancja G1, domyślnie {{Value|0.01}}.
* {{PropertyData|Tol Curvature|Float}}: G2 tolerance, it defaults to {{Value|0.10}}.
* {{PropertyData|Tol Curvature|Float}}: Tolerancja G2, domyślnie {{Value|0.10}}.
* {{PropertyData|Maximum Degree|Integer}}: maximum curve degree, it defaults to {{Value|8}}.
* {{PropertyData|Maximum Degree|Integer}}: Maksymalny stopień krzywej, wartością domyślną jest {{Value|8}}.
* {{PropertyData|Maximum Segments|Integer}}: maximum number of segments, it defaults to {{Value|9}}.
* {{PropertyData|Maximum Segments|Integer}}: Maksymalna liczba segmentów, domyślnie {{Value|9}}.


<span id="View"></span>
<span id="View"></span>
===Widok===
===Widok===


{{TitleProperty|Base}}
{{TitleProperty|Podstawa}}


* {{PropertyView|Punkty kontrolne|Bool}}: wartość domyślna to {{FALSE/pl}}, Jeśli ustawiono {{TRUE/pl}}, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.
* {{PropertyView|Punkty kontrolne|Bool}}: wartość domyślna to {{FALSE/pl}}, Jeśli ustawiono {{TRUE/pl}}, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.

Latest revision as of 15:34, 23 January 2024

Powierzchnia 3D: Wypełnianie

Lokalizacja w menu
Surface → Filling
Środowisko pracy
Powierzchnia 3D
Domyślny skrót
brak
Wprowadzono w wersji
0.17
Zobacz także
brak

Opis

Polecenie Wypełnianie tworzy powierzchnię z serii połączonych krawędzi granicznych. Krzywizna powierzchni może być dodatkowo kontrolowana przez krawędzie i wierzchołki, które nie są krawędziami granicznymi, oraz powierzchnię podpierającą.

Geometria bazowa może należeć do krzywych utworzonych za pomocą środowiska Rysunek Roboczy lub Szkicownik, ale może również należeć do obiektów bryłowych, takich jak te utworzone za pomocą środowiska Część lub Projekt Części.

Dwie wypełnione powierzchnie ograniczone czterema krawędziami znajdującymi się na płaszczyźnie XY. Powierzchnia po prawej stronie jest dodatkowo kontrolowana przez krawędź niebędącą granicą.

Użycie

  1. Naciśnij przycisk Wypełnianie.
  2. Otworzy się panel zadań Granice. Zobacz dostępne Opcje.
  3. Wybierz dwie lub więcej krawędzi w oknie widoku 3D:
    • W tym momencie nie ma potrzeby naciskania przycisku Dodaj krawędź w sekcji Granice.
    • Krawędzie muszą być wybrane w odpowiedniej kolejności.
    • Krawędzie muszą być połączone, ale cała granica nie musi być zamknięta.
    • Kompletna granica nie powinna się przecinać.
    • W przypadku okrągłej granicy 360° można wybrać dwie półokrągłe krawędzie.
  4. Podgląd ostatecznego kształtu zostanie wyświetlony po wybraniu wystarczającej ilości prawidłowej geometrii.
  5. Opcjonalnie wybierz Powierzchnia pomocnicza. Zobacz Przykład.
  6. Opcjonalnie wybierz jedno lub więcej Wiązania krawędziowe.
  7. Opcjonalnie wybierz jedno lub więcej Wiązań wierzchołków.
  8. Naciśnij przycisk OK.

Opcje

  • W sekcji Granice można określić powierzchnię podparcia i krawędzie graniczne:
    • Naciśnij przycisk Powierzchnia podparcia i wybierz ścianę w oknie widoku 3D, aby dodać powierzchnię podparcia.
      • Kliknij ikonę , aby usunąć powierzchnię podparcia.
    • Naciśnij przycisk Dodaj krawędź raz, aby rozpocząć zaznaczanie krawędzi granicznych w oknie widoku 3D.
    • Istnieje kilka sposobów na usunięcie zaznaczenia krawędzi granicznych:
      • Naciśnij przycisk Usuń krawędź raz, aby rozpocząć odznaczanie krawędzi w oknie widoku 3D.
      • Zaznacz krawędź na liście i naciśnij klawisz Delete.
      • Kliknij prawym przyciskiem myszy krawędź na liście i wybierz Usuń z menu podręcznego.
  • W sekcji Wiązania krawędzi można określić krawędzie niebędące krawędziami granicznymi:
    • Opcje wyboru są podobne do tych dla krawędzi granicznych.
  • W sekcji Wiązania wierzchołków można określić wierzchołki nie będące wierzchołkami granicznymi:
    • Opcje wyboru są podobne do tych dla wierzchołków granicznych.
  • Naciśnij przycisk Esc lub przycisk Anuluj aby przerwać wykonywanie polecenia.

Przykład

Polecenie Powierzchnia podparcia działa jako dodatkowe ograniczenie dla powierzchni. Poniższy prosty przykład pozwoli zrozumieć, jak to działa:

  1. W środowisku pracy Część utwórz walec i ustaw jego DANEkąt na 180°.
  2. Przełącz się ponownie na środowisko pracy Powierzchnia 3D i naciśnij przycisk Wypełnienie.
  3. Wybierz dwie półokrągłe krawędzie i dwie proste krawędzie, które je łączą.
  4. Wynik jest zgodny z czterema krawędziami granicznymi, ale wewnętrzny kształt jest zupełnie inny od powierzchni cylindrycznej.
  5. Edytuj obiekt Powierzchnia i dla Powierzchnia podparcia wybierz powierzchnię cylindryczną.
  6. Zmodyfikowany kształt znacznie lepiej pasuje do powierzchni walcowej.

Właściwości

Obiekt Wypełnienie (klasa Surface::Filling) jest pochodną podstawowej klasy Część: Cecha (klasa Part::Feature, poprzez klasę podrzędną Part::Spline), dlatego też dzieli z nią wszystkie jej właściwości.

Oprócz właściwości opisanych na stronie Cecha części, obiekt Rozszerz powierzchnię, posiada następujące właściwości w edytorze właściwości.

Dane

Wypełnienie

  • DANEBoundary Edges (LinkSubList): Krawędzie graniczne, C0 jest wymagane dla krawędzi bez odpowiadającej im powierzchni.
  • DANEBoundary Faces (StringList):
  • DANEBoundary Order (IntegerList): Kolejność ograniczeń na powierzchniach granicznych; 0, 1 i 2 są możliwe.
  • DANEUnbound Edges (LinkSubList): Nieograniczone krawędzie wiązania, C0 jest wymagane dla krawędzi bez odpowiedniej ściany.
  • DANEUnbound Faces (StringList):
  • DANEUnbound Order (IntegerList): Kolejność ograniczeń na niezwiązanych powierzchniach; 0, 1 i 2 są możliwe.
  • DANEFree Faces (LinkSubList): Wolne ograniczenie na powierzchni.
  • DANEFree Order (IntegerList): Kolejność wiązań na wolnych powierzchniach.
  • DANEPoints (LinkSubList): Punkty wiązania na powierzchni.
  • DANEInitial Face (LinkSub): początkowa powierzchnia do użycia.
  • DANEDegree (Integer): Stopień początkowy, domyślnie 3.
  • DANEPoints On Curve (Integer): Liczba punktów na krawędzi dla wiązania.
  • DANEIterations (Integer): Liczba iteracji, domyślnie 2.
  • DANEAnisotropy (Bool): Wartość domyślna to FAŁSZ.
  • DANETolerance2d (Float): Tolerancja 2D, domyślnie 0.0.
  • DANETolerance3d (Float): Tolerancja 3D, domyślnie 0.0.
  • DANETol Angular (Float): Tolerancja G1, domyślnie 0.01.
  • DANETol Curvature (Float): Tolerancja G2, domyślnie 0.10.
  • DANEMaximum Degree (Integer): Maksymalny stopień krzywej, wartością domyślną jest 8.
  • DANEMaximum Segments (Integer): Maksymalna liczba segmentów, domyślnie 9.

Widok

Podstawa

  • WIDOKPunkty kontrolne (Bool): wartość domyślna to FAŁSZ, Jeśli ustawiono PRAWDA, wyświetlona zostanie nakładka z punktami kontrolnymi krzywej.

Tworzenie skryptów

Zobacz również: FreeCAD podstawy tworzenia skryptów.

Narzędzie Wypełnienie powierzchni może być używane w makrodefinicjach i z konsoli Python poprzez dodanie obiektu Surface::Filling.

  • Krawędzie, które mają być użyte do zdefiniowania powierzchni, muszą być przypisane jako LinkSubList do właściwości BoundaryEdges obiektu.
  • Pomocnicze krawędzie i wierzchołki muszą być przypisane jako LinkSubLists do właściwości UnboundEdges i Points obiektu.
  • Wszystkie obiekty z krawędziami muszą zostać obliczone, zanim będą mogły zostać użyte jako dane wejściowe dla właściwości obiektu Filling.
import FreeCAD as App
import Draft

doc = App.newDocument()

a = App.Vector(-20, -20, 0)
b = App.Vector(-18, 25, 0)
c = App.Vector(60, 26, 0)
d = App.Vector(33, -20, 0)

points1 = [a, App.Vector(-20, -8, 0), App.Vector(-17, 7, 0), b]
obj1 = Draft.make_bspline(points1)

points2 = [b, App.Vector(0, 25, 0), c]
obj2 = Draft.make_bspline(points2)

points3 = [c, App.Vector(37, 4, 0), d]
obj3 = Draft.make_bspline(points3)

points4 = [d, App.Vector(-2, -18, 0), a]
obj4 = Draft.make_bspline(points4)
doc.recompute()

surf = doc.addObject("Surface::Filling", "Surface")
surf.BoundaryEdges = [(obj1, "Edge1"),
                      (obj2, "Edge1"),
                      (obj3, "Edge1"),
                      (obj4, "Edge1")]
doc.recompute()

# ---------------------------------------------------------
points_spl = [App.Vector(-10, 0, 2),
              App.Vector(4, 0, 7),
              App.Vector(18, 0, -5),
              App.Vector(25, 0, 0),
              App.Vector(30, 0, 0)]
aux_edge = Draft.make_bspline(points_spl)
doc.recompute()

surf.UnboundEdges = [(aux_edge, "Edge1")]
doc.recompute()

# ---------------------------------------------------------
aux_v1 = Draft.make_line(App.Vector(-13, -12, 5),
                         App.Vector(-13, -12, -5))
aux_v2 = Draft.make_line(App.Vector(-3, 18, 5),
                         App.Vector(-3, 18, -5))
doc.recompute()

surf.Points = [(aux_v1, "Vertex2"),
               (aux_v2, "Vertex1")]
doc.recompute()