Bonjour,
Je viens tout juste de me mettre a F360, j’espère ne pas faire de doublons : je réalise un fuselage d'avion, grâce aux plan originaux en sketch, j'ai pu définir une courbe par point : cette courbe mesure 733.629mm et j'aimerai pouvoir y apposer un point à 671.06mm (en partant du bas à droite) et la découper à cette endroit la mais impossible pour moi, je n'arrive pas à mesurer des distances ou mettre le point précisément sur cette courbe. Désolé !
Merci pour tout pour vos réponses
Cordialement,
Fusion 360 Education Licence - apparemment à jour !
Résolu ! Accéder à la solution.
Résolu par JeromeBriot. Accéder à la solution.
Bonjour Antoine,
Tu peux définir un plan de construction avec <Plane Along Path> en sélectionnant ta coube
Ensuite tu sélectionne <Physical> dans distance Type et tu auras la position dans l'unité que tu as choisi (mm)
Enfin du sélectionne ton plan de construction pour créer un sketche, tu choisis l'origine pour placer un point et Voilà.
Bonne journée et bon Week-end.
@iphone.cesbron a écrit :
Tu peux définir un plan de construction avec <Plane Along Path> en sélectionnant ta coube
Voir aussi "Point Along Path" tout en bas du même menu. Le problème de cette méthode est que le point n'existera pas dans l'esquisse (sketch) d'origine car celui-ci a été créé avant.
Pour ma part, je me méfie de ces points calculés avec un précision donnée. Le mieux est quand même de créer les points de façon géométrique en utilisant des lignes de construction et des intersections.
Voici quand même deux scripts Python qui permettent de placer un point sur une ligne dans l'esquisse en cours.
Dans le premier script, le point est ajouté à l'endroit du clic de la souris :
import adsk.core, traceback
def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
currentSketch = app.activeEditObject
if currentSketch.objectType != 'adsk::fusion::Sketch':
ui.messageBox('Edit an existing sketch first.')
return
selection = ui.selectEntity('Select a sketch curve', 'SketchCurves,SketchLines,SketchCircles,ConstructionLines')
if selection:
selectedCurve = selection.entity
pointInModelCoordinate = selection.point
pointInSkecthCoordinate = currentSketch.modelToSketchSpace(pointInModelCoordinate)
newPoint = currentSketch.sketchPoints.add(pointInSkecthCoordinate)
if newPoint:
currentSketch.geometricConstraints.addCoincident(newPoint, selectedCurve)
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
Dans le deuxième, on demande un paramètre compris entre 0 et 1 pour créer le point sur la courbe paramétrée :
import adsk.core, traceback
def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
currentSketch = app.activeEditObject
if currentSketch.objectType != 'adsk::fusion::Sketch':
ui.messageBox('Edit an existing sketch first.')
return
p, isCancelled = ui.inputBox('Enter a value between 0.0 and 1.0', 'Value', '0.5')
if isCancelled:
return
p = float(p)
selection = ui.selectEntity('Select a sketch curve', 'SketchCurves,SketchLines,SketchCircles,ConstructionLines')
selectedCurve = selection.entity
returnValue, startParameter, endParameter = selectedCurve.geometry.evaluator.getParameterExtents()
if not returnValue:
return
rng = endParameter-startParameter
parameter = rng * p + startParameter
returnValue, pointInSkecthCoordinate = selectedCurve.geometry.evaluator.getPointAtParameter(parameter)
if not returnValue:
return
newPoint = currentSketch.sketchPoints.add(pointInSkecthCoordinate)
if newPoint:
currentSketch.geometricConstraints.addCoincident(newPoint, selectedCurve)
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
Pour le deuxième script, dans le cas qui nous intéresse ici, le paramètre sera 0,9147130225 (671.06/733.629) ou 0,085286977 car le sens de la courbe n'est pas pris en compte.
Voir les fichiers ci-joints.
C'est vite fait mais je pense que c'est un bon début.
Jérôme Briot, Freelance engineer - Mechanical design and prototyping
3D Print Plus / Pro | IDF Import | GitHub To Fusion 360 | Tube Bending Data Exchanger | Slice Data Export
Memory Used | Basic Calculator | Check Computer Specifications | Import spline from any CSV file
Effectivement Jérôme, tu as raison sur les points que tu as abordés et je ne connaissait pas la fonction Point Along Path.
Chapeau bas et bonne soirée.
Philippe
Merci de vos réponse,
J'ai essayé le script placePointOnCurveAt car je ne sais pas ou je dois le positionner justement ! Malheureusement, j'ai le droit à un message d'erreur
---------------------------
Fusion 360
---------------------------
Failed:
Traceback (most recent call last):
File "C:/Users/titur/AppData/Roaming/Autodesk/Autodesk Fusion 360/API/Scripts/placePointOnCurveAt/placePointOnCurveAt.py", line 24, in run
p = float(p)
ValueError: could not convert string to float: '0,9147130225'
---------------------------
OK
---------------------------
En tout cas merci pour le coup de main !
Ca marche tip top ! Merci (petit probleme en "," et "." qui me créait une erreur mais c'est corrigé !
Merci beaucoup du temps pris !
@Anonymous a écrit :
petit probleme en "," et "."
Oui désolé. Il faut utiliser la notation anglo-saxonne 0.9147130225 dans Fusion 360.
Jérôme Briot, Freelance engineer - Mechanical design and prototyping
3D Print Plus / Pro | IDF Import | GitHub To Fusion 360 | Tube Bending Data Exchanger | Slice Data Export
Memory Used | Basic Calculator | Check Computer Specifications | Import spline from any CSV file
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.