Macro Compound Plus/pl

Macro Compound Plus

Description
Draft command set in a small macro for the 2D wire example: work with the DXF files. The macro detected : Line, Arc, Circle, Ellipse, BSplineCurve and reproduce the DXF wire in a Draft object. The text is converted in ShapeString.

Macro version: 00.05
Last modified: 2024-11-11
FreeCAD version: 0.21.2 and more
Download: ToolBar Icon
Author: Mario52
Author
Mario52
Download
ToolBar Icon
Links
Macro Version
00.05
Date last modified
2024-11-11
FreeCAD Version(s)
0.21.2 and more
Default shortcut
None
See also
None

Description

Draft command set in a small macro for the 2D wire example: work with the DXF files. The macro detected : Line, Arc, Circle, Ellipse, BSplineCurve and reproduce the DXF wire in a Draft object. The text is converted in ShapeString.

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/7be361a8c489deec918f664fdcfc4394/raw/2d12268123cbd38a3fba10fff1c7f35837cd3325/Macro_Compound_Plus.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/7be361a8c489deec918f664fdcfc4394/raw/2d12268123cbd38a3fba10fff1c7f35837cd3325/Macro_Compound_Plus.FCMacro")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mario52a/7be361a8c489deec918f664fdcfc4394/raw/2d12268123cbd38a3fba10fff1c7f35837cd3325/Macro_Compound_Plus.FCMacro">raw code</a>

Usage

Macro_Compound_Plus_00

Choice

  • Compound I Type I [1 + 1 = 1] : Create one compound unique of all objects selected without history.
  • Compound II Type II [1 + 1 = A (1 + 1)] : Create one compound of all objects selected with history of all objects. Same "Menu → Part → Make compound".

Option color

If it checked the colour to object to work are coloured (edge, vertex)

  • Color  : Gives a colour to object. (Default Red 255, 0, 0)

Tools

  • LineEdit : display (Iindex of Font / Number of font) the path and name of the font.
  • Convert Text (A) : convert the text in a shape string (The height of the text converted is respected but the visual result may not be respected, see the Combo view property for confirm). (A) is Automatic value height of text.
    • 0,00 Auto  : If the spinbox is egual 0.0 the heigth of the VALUE of the text is respected, if other of 0.0 the Convert Text (A) change to Convert Text (M) manual.
  • Convert Wire (A) : This command convert the wire in one line with coordinates. (ex: one compound downgraded does not have coordinates, this function create a line with the coordinate as Draft line and reproduce the DXF wire in a Draft object are detected: Line, Arc, Circle, Ellipse, BSplineCurve.
    • 0,00 Auto  : Gives a thickness of the wire. If the spinbox is egual 0.0 the heigth of the VALUE of the text is respected, if other of 0.0 the Convert Wire (A) change to Convert Wire (M) manual.
  • BezierCurve : By default the BezierCurve detected is , if it is checked the BezierCurve is Cubic and the button change Cubic BezierCurve
  • FlatLines : The objects created is FlatLines.
  • Wireframe : The objects created is Wireframe.
  • Points : The objects created is Points.
  • UpGrade : UpGrade
  • DownGrade : DownGrade

For Compound I and Convert Edge

This section work only with the tools Compound I, Convert Text (A) and Convert Wire (A)

  • None : Everything originals objects remains as it is.
  • Hidden original objest(s) : Hidden the originals objest(s).
  • Delete original objest(s) : Delete the originals objest(s).

Force on a form : Line

If the object line, arc or circle is not reconized (as form in a volume 3D object), this section force the creation of Line, Arc or Circle.

no verification is done, this section tray to create a requested shape 2D (Draft) based on the data provided

  • Lines : Tray to create a Line.
  • Arc : Tray to create a Arc.
  • Circle : Tray to create a Circle.
  • Force on : Line : Button Force

Command

  • ProgressBar
  • Reset : Reset the macro
  • Quit : Quit the macro, bye
  • Help : Display the wiki page in the FreeCAD browser

Script

The icon for you toolBar copy in same directory to the macro

The script to github Macro_Compound_Plus.FCMacro

Links

My macros to Github

Version

  • 11/11/2024 ver 00.05 : return to PySide and replace WebGui by webbrowser
  • 15/08/2020 ver 00.04 : adding section "Force the forme" if not detected, create Line, Arc and Circle on forced
  • 14/05/2020 ver 00.03 : upgrade pySide2 and Qt5 layout and (matPlotLib Font) and convert Circle, Arc, Ellipse, BezierCurve
  • 24/01/2018 ver 00.02 : sup "import PyQt4"
  • 21/11/2016 ver 00.01 :