Macro BoundingBox Tracing: Difference between revisions
Renatorivo (talk | contribs) (Marked this version for translation) |
m (add icon) |
||
Line 1: | Line 1: | ||
<translate> |
<translate> |
||
<!--T:1--> |
<!--T:1--> |
||
{{Macro|Icon= |
{{Macro|Icon=BoundBoxTracing|Name=Macro BoundingBox Tracing|Description=This macro red trace (editable) around the BoundingBox with 6 rectangles.|Author=Mario52}} |
||
==Description== <!--T:2--> |
==Description== <!--T:2--> |
||
Line 22: | Line 22: | ||
blue = 0.0 # |
blue = 0.0 # |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
==Icon== |
|||
Download the file image and copy in your macro repertory. |
|||
Click the image, in the new window position the mouse over the image, click the right mouse and do "Save target as ..." |
|||
[[Image:BoundBoxTracing.png|Button]] |
|||
==Macro== <!--T:4--> |
==Macro== <!--T:4--> |
Revision as of 18:57, 29 January 2015
File:BoundBoxTracing Macro BoundingBox Tracing |
Description |
---|
This macro red trace (editable) around the BoundingBox with 6 rectangles. Author: Mario52 |
Author |
Mario52 |
Download |
None |
Links |
Macros recipes How to install macros How to customize toolbars |
Macro Version |
1.0 |
Date last modified |
None |
FreeCAD Version(s) |
None |
Default shortcut |
None |
See also |
None |
Description
This macro red trace (editable) around the BoundingBox 6 Faces with 6 rectangles.
Use
Select the object and launch the macro. 6 rectangles are colored red (can be changed)
To change the color of the dot change the lines 42, 43, 44
red = 1.0 # 1 = 255
green = 0.0 #
blue = 0.0 #
Icon
Download the file image and copy in your macro repertory.
Click the image, in the new window position the mouse over the image, click the right mouse and do "Save target as ..."
Macro
Macro_BoundingBox_Tracing.FCMacro
# -*- coding: utf-8 -*-
# cette macro trace en rouge (modifiable) le tour du boundingbox avec 6 rectangles
# this macro red trace (editable) around the BoundingBox with 6 rectangles
# To change the color of the dot change the lines 42, 43, 44
# red = 1.0 # 1 = 255
# green = 0.0 #
# blue = 0.0 #
# Macro_BoundingBox_Tracing
# ver 0.2
# Mario52
#
#OS: Windows Vista
#Platform: 32-bit
#Version: 0.14.3389
#Python version: 2.6.2
#Qt version: 4.5.2
#Coin version: 3.1.0
#SoQt version: 1.4.1
#OCC version: 6.5.1
import FreeCAD, FreeCADGui, Draft, Part
selEx = FreeCADGui.Selection.getSelectionEx()
objs = [selobj.Object for selobj in selEx]
if len(objs) >= 1:
s = objs[0].Shape
# boundBox
boundBox_ = s.BoundBox
boundBoxLX = boundBox_.XLength
boundBoxLY = boundBox_.YLength
boundBoxLZ = boundBox_.ZLength
a = str(boundBox_)
a,b = a.split('(')
c = b.split(',')
oripl_X = float(c[0])
oripl_Y = float(c[1])
oripl_Z = float(c[2])
App.Console.PrintMessage(str(boundBox_)+"\r\n")
App.Console.PrintMessage("Rectangle : "+str(boundBox_.XLength)+" x "+str(boundBox_.YLength)+" x "+str(boundBox_.ZLength)+"\r\n")
App.Console.PrintMessage("_____________________"+"\r\n")
# LineColor
red = 1.0 # 1 = 255
green = 0.0 #
blue = 0.0 #
#####
try:
pl_0 = App.Placement(App.Vector(oripl_X,oripl_Y,oripl_Z), App.Rotation(0.0,0.0,0.0))
double = Draft.makeRectangle(length=boundBox_.XLength,height=boundBox_.YLength,placement=pl_0,face=False,support=None) #OK
FreeCADGui.activeDocument().activeObject().LineColor = (red, green, blue)
except:
App.Console.PrintError("not done 0"+"\n")
try:
pl_1 = App.Placement(App.Vector(oripl_X,oripl_Y,oripl_Z+boundBoxLZ), App.Rotation(0.0,0.0,0.0))
double = Draft.makeRectangle(length=boundBox_.XLength,height=boundBox_.YLength,placement=pl_1,face=False,support=None) #Ok
FreeCADGui.activeDocument().activeObject().LineColor = (red, green, blue)
except:
App.Console.PrintError("not done 1"+"\n")
try:
pl_2 = App.Placement(App.Vector(oripl_X,oripl_Y,oripl_Z), App.Rotation(0.0,0.0,90))
double = Draft.makeRectangle(length=boundBox_.XLength,height=boundBox_.ZLength,placement=pl_2,face=False,support=None) #Ok
FreeCADGui.activeDocument().activeObject().LineColor = (red, green, blue)
except:
App.Console.PrintError("not done 2"+"\n")
try:
pl_3 = App.Placement(App.Vector(oripl_X,oripl_Y+boundBoxLY,oripl_Z), App.Rotation(0.0,0.0,90))
double = Draft.makeRectangle(length=boundBox_.XLength,height=boundBox_.ZLength,placement=pl_3,face=False,support=None) #Ok
FreeCADGui.activeDocument().activeObject().LineColor = (red, green, blue)
except:
App.Console.PrintError("not done 3"+"\n")
try:
pl_4 = App.Placement(App.Vector(oripl_X,oripl_Y,oripl_Z), App.Rotation(90,0.0,90))
double = Draft.makeRectangle(length=boundBoxLY,height=boundBox_.ZLength,placement=pl_4,face=False,support=None) #Ok
FreeCADGui.activeDocument().activeObject().LineColor = (red, green, blue)
except:
App.Console.PrintError("not done 4"+"\n")
try:
pl_5 = App.Placement(App.Vector(oripl_X+boundBoxLX,oripl_Y,oripl_Z), App.Rotation(90,0.0,90))
double = Draft.makeRectangle(length=boundBoxLY,height=boundBoxLZ,placement=pl_5,face=False,support=None) #Ok
FreeCADGui.activeDocument().activeObject().LineColor = (red, green, blue)
except:
App.Console.PrintError("not done 5"+"\n")
#####
App.ActiveDocument.recompute()
else:
App.Console.PrintMessage("Select an object !"+"\n")