Jump to content

Makro FCCamera

From FreeCAD Documentation
This page is a translated version of the page Macro FCCamera and the translation is 100% complete.

FCCamera

Beschreibung
Dieses Makro kann den Bildschirm in einem definierten Winkel und um eine definierte Achse drehen und eine Ebene erstellen, die zum Bildschirm ausgerichtet ist, um ein Formular in den angegebenen Ebenenpositionen zu erstellen, wobei die ausgewählte Fläche zum Bildschirm ausgerichtet ist, um die Position der Kamera zu erkennen, die Ansicht an der Fläche oder der Achse auszurichten und das Objekt an der Ansicht auszurichten.

Versionsmakro : 0.15b
Datum der letzten Änderung : 2024/12/19
FreeCAD version : 1.00 und neuer
Herunterladen : Werkzeugleisten-Symbol
Autor: Mario52
Autor
Mario52
Herunterladen
Werkzeugleisten-Symbol
Links
Macro-Version
0.15b
Datum der letzten Änderung
2024/12/19
FreeCAD-Version(s)
1.00 und neuer
Standardverknüpfung
None
Siehe auch
None

Beschreibung

Dieses Makro kann den Bildschirm in einem definierten Winkel und um eine definierte Achse drehen und erstellt eine Ebene, um den Bildschirm so auszurichten, dass eine Form in den angegebenen Ebenenpositionen mit der ausgewählten Fläche zum Bildschirm zeigt, um die Position der Kamera zu erkennen, die Ansicht an der Fläche oder der Achse auszurichten und das Objekt an der Ansicht auszurichten.

Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro


# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.

from PySide import QtGui, QtCore

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
    "Information",
    "This macro must be downloaded from this link\n"
    "\n"
    "https://gist.githubusercontent.com/mario52a/4aa545c23b323cf68824/raw/b31c64d26788b796750095eca4a6b92803537732/Macro%2520FCCamera.FCMacro" + "\n"
    "\n"
    "Quit this window to access the download page")

diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()

import webbrowser 
webbrowser.open("https://gist.githubusercontent.com/mario52a/4aa545c23b323cf68824/raw/b31c64d26788b796750095eca4a6b92803537732/Macro%2520FCCamera.FCMacro")


Anwendung

FCCamera
FCCamera

Kamera von Achsen: Das Dialogfeld zur Eingabe des Drehwinkels in Grad.

Winkelrotations-Achse in Grad: Wähle die Drehachse aus. X, Y oder Z.

Rotationsachse

  • Rotation akzeptieren : Akzeptiere die Drehung, die dem ausgewählten Winkel zugewiesen wurde

Virtuell

  • Kameraausrichtung erkennen : Erkenne die Kameraausrichtung und drucke sie in der Berichtsansicht aus. Der zurückgegebene Wert ist der von der Funktion bereitgestellte Wert getCameraOrientation().

Ansicht an ausgewählter Fläche ausrichten

  • Auf Fläche. : Die Ansicht auf die ausgewählte Fläche ausrichten. Klicken und den Klick für NormalAt wiederholen: "(0,0,1) (0,0,-1) (0,1,0) (0,-1,0) (1,0,0) (-1,0,0)"
  • Auf Achse. : Die Ansicht an der ausgewählten Achsenfläche ausrichten. Klicken und den Klick für Oberflächenachse wiederholen: "(0,0,1) (0,0,-1) (0,1,0) (0,-1,0) (1,0,0) (-1,0,0)"
  • Objekt an Ansicht ausrichten. : Das ausgewählte Objekt an der aktuellen Ansicht ausrichten. Die geänderten Werte sind: Drehachse ((X, Y, Z), Winkel), gleiche Eulerwinkel: Gieren, Neigen, Rollen, die Translation wird nicht geändert.
  • Ebene von Ansicht erstellen. : Eine kreisförmige Ebene wird mit Blick auf den Bildschirm erstellt, um die Mausklick-Koordinaten auf einem Objekt zu erfassen. Der Radius der Ebene entspricht der maximalen Abmessung des Begrenzungsrahmens. Wenn kein Objekt ausgewählt ist, wird die Ebene mit den Koordinaten 0, 0, 0 und einem Radius von 20 mm erstellt. Der Radius kann in Zeile 515 geändert werden:
rayon = 20                            # Radius of plane
  • Zurücksetzen. : Setzt alle Werte zurück
  • Foto. : Abschnitt Speichern der Bildschirmdrehung eines Bildes in Winkelwert
  • Beenden. : Beendet FCCamera

Abschnitt Foto

FCCamera
FCCamera
  • Aktuelle ComboBox : Die Bildschirmauflösung für das Bildformat wählen
    • Verfügbar (vordefiniert):
      • "Aktuell" (Definition des tatsächlichen Bildschirms)
      • "Symbol 16 x 16"
      • "Symbol 32 x 32"
      • "Symbol 64 x 64"
      • "Symbol 128 x 128"
      • "CGA 320 x 200"
      • "QVGA 320 x 240"
      • "VGA 640 x 480"
      • "SVGA 800 x 600"
      • "XGA 1024 x 768"
      • "XGA+ 1152 x 864"
      • "SXGA 1280 x 1024"
      • "SXGA+ 1400 x 1050"
      • "UXGA 1600 x 1200"
      • "QXGA 2048 x 1536"
      • "Frei"
  • SpinBox X und Y
  • ComboBox Bildformat
    • Verfügbar :
      • "BMP *.bmp"
      • "ICO *.ico"
      • "JPEG *.jpeg"
      • "JPG *.jpg"
      • "PNG *.png" (by default)
      • "PPM *.ppm"
      • "TIF *.tif"
      • "TIFF *.tiff"
      • "XBM *.xbm"
      • "XPM *.xpm"
  • Linie 1 : Die Anzahl der Bilder wird anhand des Winkels berechnet (Beispiel: Winkel 60 Grad = 360 (vollständige Drehung) / 60 (Winkel) = 6 Bilder
  • Linie 2 : Die Definition des verwendeten Bildschirms
  • Hintergrundbild:
    • Tatsächlich: Bild mit der tatsächlichen Bildschirmfarbe speichern.
    • Weiß: Bild mit der Bildschirmfarbe Weiß speichern.
    • Schwarz: Bild mit der Bildschirmfarbe Schwarz speichern.
  • Starten : Das Dateifenster öffnen, den Namen und den Pfad eingeben.
  • Zurücksetzen : Standardwert zurücksetzen
  • Zurückkehren : Das Fotofenster schließen und zum FCCamera-Fenster zurückkehren

Verweise

Mit FCCamera verwandte Verweise

Diskussion im FreeCAD-Forum: MACRO:Work Feature 2014_12

Skript

Die Symbolbilder herunterladen FCCamera_Icones.zip

Lade das Makro auf Gist herunter Macro FCCamera.FCMacro

Beispiele

Wie man ein Winkelloch setzt

Das gleiche Ergebnis kann erzielt werden, indem man eine Ebene in der Ecke erstellt, die durch die Mausklickposition und eine Skizze vorgegeben ist.

Version

  • ver 0.15, 0.15b (19/12/2024): anpassen und PySide zurückgeben, (FCCamera macro can't find Pyside2) Webzugriff korrigieren WebGui löschen und durch Webbrowser ersetzen
####
try:
    import webbrowser
    webbrowser.open("https://wiki.freecad.org/index.php?title=Macro_FCCamera")
except Exception:
    None
####
####
import urllib
from urllib import request

contentPage = request.urlopen("https://wiki.freecad.org/Macro_FCCamera").readlines()
####
  • ver 0.14 (20/10/2020) : *Fehler "Grid" nicht akzeptiert korrigiert
  • ver 0.13 (28/06/2020): Dateien und Bilder im Quellcode hinzufügen, Ebene erstellen "Auf Punkt, Mitte Fläche, BBox-Mitte, Schwerpunkt", gridLayout
  • ver 00.12.1 (12/02/2020): Die schlechten Zeichenfolgen 674 und 675 (Akzent...) erneut unterdrücken
  • ver 12 (01/08/2019): kompatibel mit Python 3 (Ausgabe über print())
  • ver 11 (13/01/2018): geringfügig
  • ver 10 (13/01/2018): "def centerBoundBoxGlobal():" hinzugefügt
  • ver 09 (08/01/2018): geringfügig
  • ver 08 (08/01/2018): "Pyqt4" Unterstützung und Anzahl Bild anpassen
  • ver 07 (03/01/2018): Foto-Panel und Drehung zur ausgewählten Achse hinzufügen (Linienzug, Kante, Linie)
  • ver 0.6 (13/12/2016): Neues System zur direkten Suche nach dem Makro-Pfad in den Einstellungen
#path = FreeCAD.ConfigGet("AppHomePath")
#path = FreeCAD.ConfigGet("UserAppData")
#path = "your path"
param = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macro")# macro path
path = param.GetString("MacroPath","") + "/"                        # macro path
path = path.replace("\\","/")
App.Console.PrintMessage("Path locality to FCCamera.....images.png [ " + path + " ]"+"\n")
  • ver 0.5 06/09/2016: Korrekturerfassung des Namens "FCCamera_Axis_rotation_X.png" im Reset-Block
  • ver 0.4 28/02/2016 : Alle Kameraerkennungen anzeigen und die Richtung
  • ver 0.3 18/03/2015 : Zeile 492 ändern ersetzen "pl.Base = App.Vector(0,0,0)" mit "pl.Base = sel[0].Placement.Base" bewegt nun die Form nicht mehr am Punkt (0,0,0) und lässt die Koordinaten unverändert
  • ver 0.2 25/02/2015 : Korrektur der Dateinamen für Kompatibilität mit Linux (Groß-/Kleinschreibung beachten) Danke, microelly2