Yes, I know, and it is in some ways better to use than that funky scale tool. Thanks for bringing that up. Scaling is not the problem though, the clone is the problem. One of a few I have run into. Like even though there is a tool to map a sketch TO a face, I have yet to find any tool or script to map a sketch FROM a face (or even make a copy of a single face). Maybe it can't be done? Perhaps I should break these problems down, prioritize them and ask over in the Help section. I thought about making the orignal post there but initially i was hoping to dredge up some scripts or the like that would help with what I am trying to do.shoogen wrote:You can scale your profile using the Draft/Clone command (stormtrooper icon).
OK, what I am trying to achieve. I wish to be able to produce accurate templates for a series of ribs in a tapered wing section. These ribs, while constantly changing size from one station to the next are held together and aligned (in all 3 axises) by linear dimensioned parts (spars). So simply just making a scaled copy and placing it at it's new station would result in an improperly dimensioned slot for the spar. If one were to think that it would be productive to just clone the airfoil to the scale, place them at their assigned stations, then lay in the spar and do a cut.... remember, they are alleged clones, and Freecad can not perform Boolean operations on alleged clones. Here is a snapshot of a cut operation done with an alleged clone acting a a face for the root rib. Notice that the spar piece has no affect up to the face, but performs as expected at all points beyond that face.shoogen wrote:mark,
to be honest, I don't understand what you are trying to achieve.
Do you really need a loft?
So you have to different airfoils that you need to connect. Otherwise i would start with an extrusion, (possible with a draft angle)
Do you want your section to be outlines (like for laser cutting) or do you want them to be solids?
Code: Select all
>>> scalefactor=10.0 >>> import importAirfoilDAT >>> importAirfoilDAT.insert("C:/Users/Me/Desktop/HS1620.DAT","Unnamed") # imports one Draft Wire named and labeled 'DWire' >>> oldobject = App.ActiveDocument.DWire # imported object >>> matrix=FreeCAD.Matrix() >>> matrix.scale(scalefactor,scalefactor,scalefactor) #scale uniformly >>> newshape=oldobject.Shape.copy() # extract the shape from the imported airfoil >>> newshape.transformShape(matrix) # scale the Shape >>> newobject=App.ActiveDocument.addObject('Part::Feature','Airfoil1') #create a new Object for the resized shape >>> newobject.Shape=newshape # assign the resized shape >>> oldobject.ViewObject.Visibility=False #hide the old object
Code: Select all
>>> newobject.Shape=newshape.OuterWire # assign the outer wire of the resized shape
I don't understand what you mean by alleged. Draft/Clones use transformGeometry() and can therefore be more error prone in booleans. But the airfoils only consist of line segments. And unlike for conic sections, affine transformations can be applied to line segments. There might be other reasons, why the boolean fails.quick61 wrote:they are alleged clones, and Freecad can not perform Boolean operations on alleged clones.