Macro Ellipse-Center+2Points
Appearance
| Description |
|---|
| Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius Macro version: 02.00 Last modified: 2019-07-29 FreeCAD version: All Download: ToolBar Icon Author: Eriossoltero |
| Author |
| Eriossoltero |
| Download |
| ToolBar Icon |
| Links |
| Macros recipes How to install macros How to customize toolbars |
| Macro Version |
| 02.00 |
| Date last modified |
| 2019-07-29 |
| FreeCAD Version(s) |
| All |
| Default shortcut |
| None |
| See also |
| None |
Description[edit | edit source]
Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius
Latest[edit | edit source]
The latest version of the macro is to be found at EllipseCenter2Points.FCMacro but the easiest way to install this macro is through the Addon Manager.
Script[edit | edit source]
Macro_EllipseCenter2Points.FCMacro
# Macro Begin: Ellipse-Center+2Points.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++
# http://freecad-tutorial.blogspot.com/2011/12/engine-9-poly-v-belt.html
# https://wiki.freecad.org/User:Eriossoltero
# 13/03/2012, 29/07/2019
import Part, FreeCAD, math, PartGui, FreeCADGui
from FreeCAD import Base
# get the selected objects, with first selection for the trajectory and second for the section
# Adapted from:
# Macro Begin: Ellipse-Center+2Points.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++
# http://freecad-tutorial.blogspot.com/2011/12/engine-9-poly-v-belt.html
import Part, FreeCAD, math, PartGui, FreeCADGui
from FreeCAD import Base
# get the selected objects, with first selection for the trajectory and second for the section
# Adapted from:
# http://freecad-tutorial.blogspot.com/2011/12/engine-9-poly-v-belt.html
s = FreeCADGui.Selection.getSelection()
try:
sel1=s[0].Shape
sel2=s[1].Shape
sel3=s[2].Shape
pt_center = sel1.Point
pt_radmay = sel2.Point
pt_radmen = sel3.Point
# create Part object in the current document
myObject=App.ActiveDocument.addObject("Part::Feature","Ellipse")
# create a shape and assign it to the current document
ellipse = Part.Ellipse(pt_radmay, pt_radmen, pt_center)
myObject.Shape = ellipse.toShape()
# Macro End: Ellipse-Center+2Points.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++
except:
print( "Wrong selection")
print( "First:centre, Second:major radius and Third:minor radius")

