Macro Ellipse-Center+2Points
| 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
Makes an ellipse by selecting three points (in this order): centre, major radius and minor radius
Latest
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
Macro_EllipseCenter2Points.FCMacro
# Macro Begin: Ellipse-Center+2Points.FCMacro +++++++++++++++++++++++++++++++++++++++++++++++++
# http://freecad-tutorial.blogspot.com/2011/12/engine-9-poly-v-belt.html
# https://www.freecadweb.org/wiki/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")

