Ronde doorsnede excentrisch uit ronde buis frezen

Moderator: Moderators

Gebruikersavatar
Sven
Berichten: 6016
Lid geworden op: 24 sep 2008 09:13
Locatie: Arnhem
Contacteer:

Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door Sven »

Ik maak een kruising van 3 ronde buizen in een stuk 100x100 koker:

Afbeelding

Ik wil onderzoeken of ik dat ook uit ronde buis zou kunnen doen. Ipv 100 is dat 80 mm.
De gele buis zou dan aan de zijkant gaan uitsteken, die moet namelijk excentrisch door de buis heen.

Naast de vraag of dat als het eenmaal gemaakt is functioneel wordt komt eerst de vraag of ik dat gefreesd krijg...

Met een hele lange frees is dat natuurlijk een eitje.
Maar hoe krijg je dat geprogrammeerd met een kortere frees?
Als je de cirkel in 8 stukken opdeelt en telkens de hoogte aanpast waar die cirkelboog eindigt dan kom je een heel eind.
Maar is dat de beste manier?
350 kilo 1250x1250 aluminium portaalfrees:
http://cnczone.nl/viewtopic.php?f=8&t=13039
Beginnen met CNC? Ontwerpen, bouwen, of toch kopen?
http://cnczone.nl/viewtopic.php?f=8&t=15481
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door Arie Kabaalstra »

ik denk dat de beste manier is om een spiraal te frezen.. ik weet niet met welke besturing je werkt.. maar in EdingCNC heb ik daar een Macrootje voor.. je positioneert voor op veilige hoogte (+2 mm ofzo) en dan ga je naar diepte #1 met stap #2 en Radius #3(radius gat - radius frees.. en die haal je uit je tooltabel) dan krijg je G03 X-#3 Y0 Z(diepte -(½#2)
gevolgd door G03 X#3 Y0 Z(diepte-(½#2).. tot einddiepte...

Waarbij valt aan te tekenen dat deze voorbeeldcode uitgaat van X0 Y0 als het midden van het gat.. tel daar de actuele coordinaten bij op.. en je bent klaar. .kun je em overal plaatsen en aanroepen..
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door DaBit »

Ik snap niet helemaal wat je nu precies wil, maar een spiraal is in LinuxCNC heel makkelijk. Stel, je wil een spiraal maken van 80 diep, 30 diameter (de spiraal dus...), in 10 rondjes en je frees staat in het centrum van het gat bovenaan:

G91 G0 X-15
G91.1 G3 I15 Z-80 P10
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door DaBit »

Of je knikkert deze subroutines in je ngc_lib.
'ietsjes' meer code, maar je kunt er prima gaatjes mee maken. Ze zijn wel bedoeld om massief spul uit te kameren, dus niet supergeschikt voor een gat in een buis (nouja, duurt gewoon wat langer dan)

hsm_preamblehelper.ngc

Code: Selecteer alles

(------------------------------------)
; Helper subroutine: setup a useable modal state, start spindle and coolant
; and do a tool change if required.
;
; Endmill diameter is returned in global #<_milldiameter>
; Endmill radius is returned in global #<_millradius>
;
; Parameters:
; #1  == toolnumber (0 for current)
; #2  == diameter of endmill used (0 to use the diameter of <toolnumber>)
; #3  == feedrate to use (0 to use current)
; #4  == spindlerpm (0 to use current)

o<hsm_preamblehelper> sub
G40 G49 G17 G90 G91.1
o<i10> IF [#1 GT 0.0]	
	T#1 M6
	G43 H#1
o<i10> ENDIF

o<i20> IF [#2 LE 0.01]
	#<_milldiameter> = #5410
o<i20> ELSE
	#<_milldiameter> = #2
o<i20> ENDIF

#<_millradius> = [#<_milldiameter> * 0.5]

o<i30> IF [#3 GT 0.0]
	F#3
o<i30> ENDIF

o<i40> IF [#4 GT 1.0]
	S#4 M3
o<i40> ENDIF
M8

o<hsm_preamblehelper> endsub
hsm_helicalramphelper.ngc

Code: Selecteer alles

(------------------------------------)
; Helper subroutine: generate a 2-degree helical ramp into the material.
; This subroutine tries to create a hole with 2x milldiameter at the
; given start point with given depth
;
; globals #<_milldiameter> and #<_millradius> should be defined and 
; modal state should be set up.
;
; Parameters:
; #1  == X center
; #2  == Y center
; #3  == Zstart
; #4  == Zend
; #5  == maximum diameter

o<hsm_helicalramp_helper> sub

#<xc> = #1
#<yc> = #2
#<zstart> = #3
#<bottom> = #4
#<maxdia> = #5

#<maxradius> = [#<maxdia>*0.5]
#<currz> = #<zstart>
; clip helix radius if pocket size is a tad small
#<helixradius> = [#<_millradius> * 0.3]
o<i100> IF [[#<helixradius> + #<_millradius>] GT #<maxradius>]
	#<helixradius> = [#<maxradius> - #<_millradius>]
o<i100> ENDIF
(DDEBUG, #<helixradius>)
; calculate downstep per full 360-degree based on traveled (circular) distance and ramp angle. tand(2) = 0.035
#<downstep> = [[6.28 * [#<helixradius> + #<_millradius>]] * 0.035]
G0 Z[#<zstart> + 1.0]
G0 X#<xc> Y#<yc>
G91.1
; helical ramping, retract every <milldiameter> Z-units
o<i110> WHILE [[#<currz> - #<bottom>] GE #<_milldiameter>]
	G0 Z[#<currz>+0.1]
	G1 X[#<xc> - #<helixradius>] Y#<yc>	
	G1 Z#<currz>
	;(DEBUG, #<helixradius> #<downstep>)
	G3 Z[#<currz>-#<_milldiameter>] I[#<helixradius>] J0 P[FUP[#<_milldiameter>/#<downstep>]]
	o<i120> IF [[[2.0*#<helixradius>] + #<_millradius>] LT #<maxradius>]
		G0 Z[#<currz>+0.1]
		G1 Z#<currz>
		G1 X[#<xc> - [2.0*#<helixradius>]] Y#<yc>
		G3 Z[#<currz>-#<_milldiameter>] I[2.0*#<helixradius>] J0 P[FUP[#<_milldiameter>/#<downstep>]]
	o<i120> ENDIF
	G1 X#<xc> Z[#<currz>-#<_milldiameter>+0.1]
	G0 Z#<zstart>
	#<currz> = [#<currz> - #<_milldiameter>]
o<i110> ENDWHILE
; Ramp down the remaining distance
o<i130> IF [#<bottom> LT #<currz>]
	G1 X[#<xc> - #<helixradius>] Y#<yc>
	G0 Z[#<currz>+0.1]
	G1 Z#<currz>
	G3 Z[#<bottom>] I[#<helixradius>] J0 P[FUP[[#<currz> - #<bottom>]/#<downstep>]]
o<i130> ENDIF	

o<hsm_helicalramp_helper> endsub
En waar het om gaat:

hsm_circularpocket.ngc:

Code: Selecteer alles

(------------------------------------)
(info: Mill a circular pocket of a certain diameter)
; A valid feed should already have been programmed and the spindle should be running
; globals #<_millradius> and #<_milldiameter> should be set
;
; Specify:
;         xc,yc,zc        == center location of pocket/hole top
; 		  diameter	   == hole diameter
;		  depth 	   == depth of hole

o<hsm_circularpocket> sub
#<xc>           = #1 (=0 X center location of pocket)
#<yc>           = #2 (=0 Y center location of pocket)
#<zc>           = #3 (=0 Z center location of pocket)
#<diameter>	= #4 (=10 Diameter of hole)
#<depth>        = #5 (=8 Pocket depth, positive number)

M73										(save modal state)
;--- Precalculate values ----
#<stepover> = [#<_milldiameter> * 0.15]
#<halfstepover> = [#<stepover> * 0.5]
o<10> IF [#<depth> GT 0.0]
	#<depth> = [#<depth>*-1.0]
o<10> ENDIF
#<zb> = [#<zc> + #<depth>]
G64 P[#<stepover> * 0.25]

(mill pocket at 2xD steps)
#<roughminradius> = [[0.5*[#<diameter>-#<_milldiameter>]] - 0.2]
#<currdepth> = #<zc>

o<100> DO
	#<targetdepth> = [#<currdepth> - [2.0*#<_milldiameter>]]
	o<110> IF [#<targetdepth> LT #<zb>]
		#<targetdepth> = #<zb>
	o<110> ENDIF
	;(DEBUG, Targetdepth #<targetdepth>)
	(create entry hole)
	o<hsm_helicalramp_helper> call [#<xc>] [#<yc>] [#<currdepth>] [#<targetdepth>] [#<diameter>]
	G90.1
	;(DEBUG, [#<xc>] [#<yc>] [#<currdepth>] [[#<currdepth>-#<targetdepth>]] [#<diameter>])
	#<currradius> = [#<_millradius> - #<stepover>]
	#<angle> = 180
	G0 X#<xc> Y#<yc> Z[#<targetdepth>+0.1]
	G1 Z[#<targetdepth>]
	o<120> WHILE [#<currradius> LT #<roughminradius>]
		#<targetx> = [#<xc> + [#<currradius>*COS[#<angle>]]]
		#<targety> = [#<yc> + [#<currradius>*SIN[#<angle>]]]
		#<i> = [#<targetx>+[[#<_x>-#<targetx>]*0.5]]
		#<j> = [#<targety>+[[#<_y>-#<targety>]*0.5]]
		;(DEBUG, i=#<i> j=#<j> targetx=#<targetx> targety=#<targety> currradius=#<currradius>)
		G3 I#<i> J#<j> X#<targetx> Y#<targety>
		#<currradius> = [#<currradius> + [#<stepover>*0.5]]
		#<angle> = [#<angle> + 180.0]
	o<120> ENDWHILE
	(Enlarge to target size and run full circle)
	#<currradius> = [0.5*[#<diameter>-#<_milldiameter>]]
	#<targetx> = [#<xc> + [#<currradius>*COS[#<angle>]]]
	#<targety> = [#<yc> + [#<currradius>*SIN[#<angle>]]]
	#<i> = [#<targetx>+[[#<_x>-#<targetx>]*0.5]]
	#<j> = [#<targety>+[[#<_y>-#<targety>]*0.5]]
	G3 I#<i> J#<j> X#<targetx> Y#<targety>
	G64 P0.01
	G3 I#<xc> J#<yc> P1

	#<currdepth> = #<targetdepth>
o<100> WHILE [#<targetdepth> GT #<zb>]


o<hsm_circularpocket> endsub
Hier een voorbeeldje van het gebruik van die hsm_circularpocket functie:

Code: Selecteer alles

(------------------------------------)
(info: Hole milling for M5 inner hex head)
; Mill a sunken hole for a normal M5 inner hex screw with 9mm dia/5mm deep for the bolt head and 5,4mm for the thread
; It is assumed that the hole top is equal to Z=0
; Also, a valid feed should already have been programmed and the spindle should be running
; globals #<_millradius> and #<_milldiameter> should be set
;
; Specify:
;         xc,yc        == center location of hole
;		  depth 	   == depth of hole

o<m5_inbus> sub
#<xc>           = #1 (=0 X center location of pocket)
#<yc>           = #2 (=0 Y center location of pocket)
#<depth>        = #3 (=8 Pocket depth, positive number)

;--- Constants ----

#<bolthead_dia> = 9.2
#<bolthead_depth> = 5.2
#<thread_dia> = 5.2

M73										(save modal state)
;--- Precalculate values ----

o<10> IF [#<depth> GT 0.0]
	#<depth> = [#<depth>*-1.0]
o<10> ENDIF
G0 Z5
G0 X[#<xc>] Y[#<yc>]

;--- First mill the 9.2mm dia/5.2mm deep pocket for the bolt head ----
o<hsm_circularpocket> call [#<xc>] [#<yc>] [0.0] [#<bolthead_dia>] [#<bolthead_depth>]

;--- Mill center hole for bolt thread ----
o<hsm_circularpocket> call [#<xc>] [#<yc>] [[#<bolthead_depth>*-1.0]] [#<thread_dia>] [#<depth>+#<bolthead_depth>]

G0 Z5
o<m5_inbus> endsub
En zoals Guvner het gebruikte om wat gaten in plaatjes te frezen:

Code: Selecteer alles

o<hsm_preamblehelper> call [0] [3] [400.0] [12000]

o<m5_inbus> call [7.5] [6.5] [10.0]
o<m5_inbus> call [7.5] [38.5] [10.0]
o<m5_inbus> call [10] [50.0] [10.0]
o<m5_inbus> call [37.5] [6.5] [10.0]
o<m5_inbus> call [37.5] [38.5] [10.0]
o<m5_inbus> call [45.0] [50.0] [10.0]
o<m5_inbus> call [80.0] [50.0] [10.0]
o<m5_inbus> call [87.5] [38.5] [10.0]
o<m5_inbus> call [87.5] [6.5] [10.0]
o<m5_inbus> call [117.5] [6.5] [10.0]
o<m5_inbus> call [117.5] [38.5] [10.0]
o<m5_inbus> call [115] [50.0] [10.0]

o<gatfrezen> call [22.5] [22.5] [9.0] [10]
o<gatfrezen> call [102.5] [22.5] [9.0] [10]

M2
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Sven
Berichten: 6016
Lid geworden op: 24 sep 2008 09:13
Locatie: Arnhem
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door Sven »

Om het met een spiraalpad te doen heb ik een lange frees (minimaal 40 mm voor 80 mm buis) nodig. Met een kortere kom ik met de spindlemoer tegen de buis aan.

Eenvoudig gezegd, ik wil een cirkel frezen waarbij de punt van de frees de buitenkant van de buis volgt.
350 kilo 1250x1250 aluminium portaalfrees:
http://cnczone.nl/viewtopic.php?f=8&t=13039
Beginnen met CNC? Ontwerpen, bouwen, of toch kopen?
http://cnczone.nl/viewtopic.php?f=8&t=15481
assink
Berichten: 2485
Lid geworden op: 03 mar 2009 09:06
Locatie: Twente
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door assink »

Zoiets, maar dan met een frees?
https://www.youtube.com/watch?v=f1vH_wev_2Q
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12054
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door hugo stoutjesdijk »

cirkel projecteren op een cilinder, heb ik een keer een voorbeeldje voor gemaakt. Nu alleen nog even terug vinden.
( en anders zoek ik em wel op m'n eigen systeem en mail ik je wel )
M'n voorbeeld zit weliswaar op de hartlijn, maar kan ook naast het hart.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12054
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door hugo stoutjesdijk »

pijp op een buis pas maken.pdf
Zoiets, alleen nog even uit het midden schuiven
En een plaatje om zelf in te vullen.
10274
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
Sven
Berichten: 6016
Lid geworden op: 24 sep 2008 09:13
Locatie: Arnhem
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door Sven »

Dit is wat ik in gedachten heb (van 2 zijden frezen met 4e as):

10275

Kan dat met wat je beschrijft Hugo?
Laatst gewijzigd door Sven op 06 mei 2015 09:12, 1 keer totaal gewijzigd.
350 kilo 1250x1250 aluminium portaalfrees:
http://cnczone.nl/viewtopic.php?f=8&t=13039
Beginnen met CNC? Ontwerpen, bouwen, of toch kopen?
http://cnczone.nl/viewtopic.php?f=8&t=15481
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12054
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door hugo stoutjesdijk »

in principe wel, maar theoretisch niet ( ?? ) Ergens komt een punt dat je niet meer snijd met de cilinder. Dan krijg je natuurlijk een error in je berekening. Dat zul je af moeten vangen, als de hartlijn ( freeslijn) binnen de gevaren zone blijf moet het lukken.
Maar voor dit voorbeeld, zou ik gewoon op het hoogste punt beginnen, met een halve cirkel (helix - Z) naar beneden, en dan weer met een halve cirkel ( helix +Z) naar boven.
En dan je 4e as 180 graden draaien, en het geintje aan de andere kant herhalen. Wel op de nieuwe positie natuurlijk.

Afhankelijk van de verschillende maten, kun je ook nog last krijgen van de spanmoer voor de frees natuurlijk.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
DaBit
Donateur
Berichten: 11041
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door DaBit »

Als je 'slechts' 40mm aan freeslengte nodig hebt, waar doe je dan moeilijk over? Met het gemiddelde 8mm freesje red je dat al want die is 60-65mm lang. En 8mm past in je Kress.

een lange 8mm frees heeft zelfs 40mm snijlengte
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13538
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door Arie Kabaalstra »

Ik begrijp dat je met de frees de hoogte van de buis wilt volgen?.. ja.. is wel een snellere methode.. maar eh.. dan zit je wel met aan de ene kant verticaal invoeren.. en aan de andere kant verticaal optrekken.. dat zijn compleet andere bewerkingen.. en dat met een lange frees?.. Ik sla wel even over dank u..
Leeuwinga
Berichten: 2989
Lid geworden op: 29 apr 2007 15:00
Locatie: Roden
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door Leeuwinga »

Ik doe dat regelmatig als je bv. een stoom dome of schoorsteen op een model
locomotief ketel moet plaatsen.
Gebruik daar een kotterkop voor met een beiteltje...
Inspannen....kotteren en klaar niets ingewikkelds cnc voor nodig
Twee vingers in de neus en gaan .....
Als je een bv circulaire frees hebt in de juiste diamtr. gaat het ook natuurlijk.
Cees
Gebruikersavatar
Sven
Berichten: 6016
Lid geworden op: 24 sep 2008 09:13
Locatie: Arnhem
Contacteer:

Re: Ronde doorsnede excentrisch uit ronde buis frezen

Bericht door Sven »

hugo stoutjesdijk schreef:Maar voor dit voorbeeld, zou ik gewoon op het hoogste punt beginnen, met een halve cirkel (helix - Z) naar beneden, en dan weer met een halve cirkel ( helix +Z) naar boven.
Tjonge, ik zocht weer te moeilijk :)
Thanks!
DaBit schreef:Als je 'slechts' 40mm aan freeslengte nodig hebt, waar doe je dan moeilijk over? Met het gemiddelde 8mm freesje red je dat al want die is 60-65mm lang. En 8mm past in je Kress.
Ik wil in dezelfde opspanning ook wat 6 mm gaten maken. Met een 6 mm frees die lang genoeg is blijft dat natuurlijk een prima optie.
350 kilo 1250x1250 aluminium portaalfrees:
http://cnczone.nl/viewtopic.php?f=8&t=13039
Beginnen met CNC? Ontwerpen, bouwen, of toch kopen?
http://cnczone.nl/viewtopic.php?f=8&t=15481
Plaats reactie