script pour l'usinage d'un cone en spirale .

  • Auteur de la discussion Klystron
  • Date de début
K

Klystron

Compagnon
Bonjour à tous,
Je suis à la recherche d'une personne qui connait la programmation Cambam pour élaborer un script ,pour l'usinage d'un cone en creux , et en spirale.
suivant diamètre outil boule , le diamètre extérieur, et la profondeur.
si vous avez une idée ?.
merci .
bonne journée.
A+
 
A

AMDlloydsp

Apprenti
Yves,
Jouir!
Tout ne est pas que vous demandez, mais facilement changé.
Lloyd
-------------------
'//////////////////////////////////////////////////////////////////////////////
'
' Conic_helical_pocket.vbs 21 December 2014
' CamBam vbscript
' by AMDlloydsp, with credits to 10 Bulls for the idea from "Boingy"
' and added features requested by GraphicsMan
'
' based upon "conic helix.vbs". This routine differs by using a target
' depth and depth increment, and does one complete circuit at the starting
' and ending depths, in order to finish the contour.
'
dim turns as single
dim top_diameter as single
dim bottom_diameter as single
dim depth_increment as single
dim strAnswer as string
dim direction as single
dim smooth as single
dim target_depth as single
dim test_string as string

function MakeConicHelix as polyline
dim start as single = 0 ' in radians
dim finish as single = turns*2*pi '30*pi ' in radians
dim steps as single = turns*smooth ' number of steps
dim radius as single = top_diameter/2
dim startz as single = 0
dim endz as single = -1*depth_increment*turns

dim radius_step as single = (bottom_diameter-top_diameter)/(steps*2)



dim x as single = 0
dim y as single = 0
dim z as single = startz

dim th as single = start
dim dt as single = (finish-start)/steps*direction
dim dz as single = (endz-startz)/steps

'// Get the drawing ready to draw
dim p as Polyline = new Polyline

' start by doing one full turn without any depth increment
for i as short = 0 to smooth-1
x = radius * math.cos(th)
y = radius * math.sin(th)
p.Add(x,y,z)
th = th + dt
next i

' now make loops with depth increment per loop
for i as short = 0 to steps-1
if z+dz < target_depth
z=target_depth
else
z = z + dz
end if
x = radius * math.cos(th)
y = radius * math.sin(th)
p.Add(x,y,z)

radius=radius+radius_step
th = th + dt
if z=target_depth then exit for
next i

' finally, make one loop at depth to finish out the bottom
for i as short = 0 to smooth-1
x = radius * math.cos(th)
y = radius * math.sin(th)
p.Add(x,y,z)
th = th + dt
next i

MakeConicHelix = p

end function


sub main
top_diameter=val(Inputbox ("Top diameter? "))
bottom_diameter=val(Inputbox ("Bottom diameter (must be <= top diameter, or hole will be cylindrical)? "))
depth_loop:
target_depth=val(Inputbox("Target depth (must be negative)"))
if target_depth>=0
goto depth_loop
end if

depth_increment=Math.Abs(val(Inputbox ("Depth increment")))
turns=Math.Abs(target_depth/depth_increment)
direction=val(Inputbox("Direction to turn -- -1=CCW, 1=CW"))
direction=direction*-1
smooth=val(Inputbox("Smoothing factor (number of segments per turn) recommended 100 per turn as a compromise."))
'test_string=string.format("Top={0}, Bottom={1}, Target={2}, Incr={3}, turns={4}",top_diameter,bottom_diameter,target_depth,depth_increment,turns)
'MsgBox(test_string)
dim p as polyline = MakeConicHelix()
doc.add(p)
end sub
 
K

Klystron

Compagnon
Bonjour ami Lloyd,
super, je te remercie, je viens de faire un essai vite fait c'est bon.
un grand merci pour ton script.
---

Hello friend Lloyd,
Great, thank you, I just did a quick test that's good.
a big thank you for your script.

Yves.
 
N

nagut

Compagnon
salut
j'ai essayé le script, mais j'ai pas tout compris :-D
j'ai dessiné avec le script un cône cylindrique de 100 en grand Ø, et 50 en petit sur 20 de haut.
çà m'a bien sortit ce que je demandais
mais pour usiner l'intérieur par exemple, j'ai pris "profilage 3D", mais çà ne sort aucun GCode !
j'ai essayer avec "poche", mais çà passe pas ( logique ).

j'aime pas quant je comprends pas :smt011
 
A

AMDlloydsp

Apprenti
ça m'a bien sortit Ce que je demandais
Mais verser usiner l' intérieur par exemple , je ai pris " profilage 3D " , Mais çà ne sorte aucun Gcode !
je ai essayer avec " poche " , Mais çà pas passé ( logique ) .
-----------
Le script crée une polyligne qui est destinée à être gravée .
< G >
LLoyd
 
D

dh42

Compagnon
Salut,

Je n'ai pas encore essayé ce script, mais il y a 120% de chances que tu doive utiliser une opération de gravure ; c'est la seule qui puisse suive un parcours en 3D.

j'ai dessiné avec le script un cône cylindrique

Je me demande à quoi ça peut bien ressembler un cône cylindrique :lol:

++
David
 
N

nagut

Compagnon
dh42 a dit:
Je me demande à quoi ça peut bien ressembler un cône cylindrique :lol:
salut David
un alésage conique :-D
dans le script, on a le choix entre une forme cercle, triangle ou carré ; j'ai choisi cercle ( d’où le terme employé )
avec une opération de gravure, il y a un sacré boulot d'ébauche !! ou bien !
 
K

Klystron

Compagnon
Bonsoir,
oui le script fonctionne bien, il faut utiliser le mode gravure .
pour avoir des cercles en spirale, il faut lui entrer 100
pour faire des triangles en spirale il faut lui entrer 3 et pour des carrés lui mettre 4 etc ... 5 6 7 sont idem.
voici une copie ecran et son g-code :

Voir la pièce jointe un essai du script.zip

c'est rigolot ce petit sous-programme pour Cambam.
il y a aussi un autre script dans les posts cambam , à chercher plus bas , qui fait une sphère, dans le meme esprit :-D

A+
 
N

nagut

Compagnon
OK
je viens de regarder le GCode, oui çà marche .
mais c'est bien ce que je disais, il faut un sacré travaille d'ébauche avant !
c'est pourquoi je n'avais même pas pensé au mode gravure.
à mon avis , çà peut être amélioré ; inclure justement cette fonction d'ébauche.
mais la : je vous laisse faire :-D
 
A

AMDlloydsp

Apprenti
You'll let WHO do it?

Why not you try to do it, so we can increase the population of CB scripters!

Lloyd
 
D

dh42

Compagnon
AMDlloydsp a dit:
You'll let WHO do it?

Why not you try to do it, so we can increase the population of CB scripters!

Lloyd

Hello Lloyd,

+1

++
David
 
A

AMDlloydsp

Apprenti
Heh! Hi, David. I left it in English to make him "work a little" for the answer! :-D

Lloyd
 
K

Klystron

Compagnon
Good Evening Lloyd,
the script of success ... :-D
Yves.
 
N

nagut

Compagnon
:oops:
çà vous amusent ?
il y a des années que je n'ai pas programmé !!; et je n'étais pas pro
même en VB je ne sais pas si j'y arriverai encore
mais je veux bien essaye d'augmenter la population de "scripteurs cb"
mais la : il y a du boulot :-D
 
K

Klystron

Compagnon
Bonsoir Nagut,
moi je ne connais pas le language Cambam, je suis trop vieux pour commencer a retourner à l'ecole :-D
je bricolais quand il y avait le MS-DOS et le GW-basic ,mais avec Windows plus la meme chose...
j'ai essayé de voir en pure basic, mais je suis largué ... :-D
si non c'est intéressant ces petits script >cambam c'est assez puissant.
oui il faudrait faire un autre script pour son ebauche, mais il faudrait demander aux informaticiens Cambam ...
Bonne soirée.

A+
 
N

nagut

Compagnon
Klystron a dit:
je bricolais quand il y avait le MS-DOS et le GW-basic
j'ai commencé sur un "Sinclair ZX81",suivi de msdos puis gw-basic, alors on jouent dans la même cour :-D
moi j'ai continué avec visual basic6 pendant quelque temps

mais les scripts sont écrit en quel langage ? c++ non ?

ps : suite demain, je me lève à 5 h.
 
A

AMDlloydsp

Apprenti
mais les scripts sont écrit en quel langage ? c++ non ?
---------
C++ et Visual Basic et Python.

Ce script, il est en BASIC

Lloyd
 
K

Klystron

Compagnon
Nagut, tu devrais te replongé dans le visual basic , et essayé de faire des script's pour Cambam.
regardes comment est fait le programme script du cone , cela pourrais t'inspirer ?.
Yves.

**************

Bonne soirée Lloyd

Yves
 
A

AMDlloydsp

Apprenti
Cela Pourrais t'inspirer ? .
-------------
OUI ! Et l'inspiration est toute la vie !
Lloyd
 
D

dh42

Compagnon
Salut,

j'ai commencé sur un "Sinclair ZX81"

Même chose pour moi ... mais après je n'ai jamais pu décrocher de l'informatique ...

moi je ne connais pas le language Cambam, je suis trop vieux pour commencer a retourner à l'ecole

Ce langage n'a rien de spécifique à CamBam ; c'est du Visual Basic Express (plugins) ou du Visual Basic Script (scripts) ; toutes les fonctions du VB sont donc utilisables + toutes les fonctions spécifiques à CamBam qui sont contenues dans les 2 bibliothèques de CB (Cambam.CAD.dll et Cambam.Geom.dll) .

Si tu n'a pas fait de basic depuis le GW .... alors oui, il y a eu quelques changements depuis :lol: et l'utilisation du VB est très proche de l'utilisation du C.

Si tu ne connais pas le VB, alors débuter sur CamBam n'est pas forcément la bonne méthode ... d'autant plus que la doc des fonctions spécifiques à Cambam est ... courte (et c'est un euphémisme) ... sur le forum CB, on travaille à l'étoffer, mais c'est un travail de Romain ..

A mon avis, si vous voulez vous mettre au VB et que vous ne connaissez pas du tout, il faudrait commencer par des petites appli. séparées, c'est plus simple car il y a de nombreuses options de "pas à pas" et de déboguage du code qui n'existent pas dans l'éditeur de CB ...

VB est gratuit, et la doc existe en français, plus des tutos.

Téléchargement Visual basic 2010 express

https://www.visualstudio.com/fr-fr/downloads/download-visual-studio-vs#DownloadFamilies_4

Il suffit de s'enregistrer pour avoir la licence gratuite.

Le coach pour débuter
https://msdn.microsoft.com/fr-fr/vbrun/msdn.coachvb.aspx

et la doc, sans fin ... :-D

https://msdn.microsoft.com/fr-fr/library/2x7h1hfk%28v=vs.100%29.aspx


Petites précision au sujets des scripts ; il peuvent être écris en Visual Basic Script, en Java Script ou en Python Script, et ils ne nécessitent pas d'installation supplémentaire et s'écrivent et s’exécutent directement dans la fenêtre script de CB.

Les plugins, quand à eux sont créés via un environnement de développement séparés (comme le VB2010 express du lien ci-dessus), et deviennent des DLL qui doivent être misent dans le dossier Plugins de CB. Ça offre plus de possibilités que les script, mais c'est moins maniable pour la mise au point.

Il peuvent s'écrire avec tout langage capable de créer une DLL utilisant le framwork .net ; c'est donc le cas de Visual Basic Express, de C# ... et probablement de beaucoup d'autres que je ne connais pas.

Les plugins sont un peu plus délicats à écrire (et surtout à déboguer) que les scripts, il est donc préférable de commencer par les scripts, puis de passer aux plugins par la suite quand on commence à maitriser le truc ; les différences entre le VBscript et le VB Express étant minimes, la transition est assez facile. (pour ma part, les scripts me servent de "banc de test" avant d'être transformés en plugin)

++
David
 
Dernière édition par un modérateur:
N

nagut

Compagnon
et bien les gars , vous me donné envie de m'y remettre :-D
et comme je prends ma retraite dans 5 mois, je vais avoir du temps qu'il faudra bien occuper .
 
K

Klystron

Compagnon
Salut Nagut,
Oui on compte sur toi pour faire avancer le Schmilblick Cambam.

Bonne retraite :-D
Yves.
 
A

AMDlloydsp

Apprenti
Ah ! Retraite ce est le moment idéal pour acquérir de nouvelles compétences et rafraîchir les anciens !

Lloyd
 
K

Klystron

Compagnon
Bonsoir à tous,

après quelques essais :

Pour avoir les cotes demandées , comme on travaille en mode gravure, il faut tenir compte ( au moment des entrées des paramètres) , du diamètre de la fraise boule , en diamètre du haut, mais aussi en profondeur finale.
( profondeur finale cambam mettre à zéro > mode gravure ).

A+
 
K

Klystron

Compagnon
bonne journée,

carré.JPG

cinq_cotés.JPG

Cone.JPG

triangle.JPG


A+
 
K

Klystron

Compagnon
Salut,
en inversant la séquence du programme G-code et aussi les sens des Z :
inversion sequence g-code  (2).JPG


avec le logiciel Owein.
on inverse la forme ,( au niveau texte du programme ), il faut bien sur en tenir compte au niveau des cotes , car l'outil n'est plus a l'intérieur mais a l'extérieur ... :-D

bonne journée.
A+
 
K

Klystron

Compagnon
Bonjour,
l'inversion de l'usinage au niveau du texte, n'est pas fiable,( avec Owein ) si la forme est simple , c'est bon, mais si la forme est un peu complexe il a aura des problèmes.( suite aux différents essais que j'ai fais ).
si non le script , fonctionne bien.
A+
 

Sujets similaires

F
Réponses
1
Affichages
529
D
Castor24
Réponses
10
Affichages
707
wika58
wika58
N
Réponses
12
Affichages
1 476
toulousain
T
DakotaSport07
Réponses
49
Affichages
2 649
DakotaSport07
DakotaSport07
Satamax
Réponses
32
Affichages
3 604
Satamax
Satamax
zeppelin54
Réponses
3
Affichages
3 510
chabercha
chabercha
B
Réponses
11
Affichages
1 219
Einzylinder
Einzylinder
B
Réponses
28
Affichages
1 887
hazet
H
N
Réponses
3
Affichages
1 690
icanbeafrog
I
B
Réponses
19
Affichages
2 009
boumboauto
B
Haut