Dekompozycja gcode na profil w S3D

Programy do przygotowywania modeli do druku – cięcia
Pajacyk0v

Dekompozycja gcode na profil w S3D

Post autor: Pajacyk0v »

Dziś natknąłem się na taki oto film. Ciekawi mnie co takiego jest ustawione w fabrycznych plikach Anety.

Jakby mi ktoś rozparcelował poniższe pliki to będę wdzięczny :]

Nie mam S3D więc w grę wychodzi eksport uzyskanego profilu do jakiegoś pliku tekstowego (xml, json, etc.) lub po prostu zrzuty ekranu z ustawieniami.


źródło: https://www.youtube.com/watch?v=SRQ-3nnSa-4

Właściwa procedura zaczyna się od 1:48.
Test file GCODE.zip
(3.37 MiB) Pobrany 175 razy
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 1
Posty: 8909
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Dekompozycja gcode na profil w S3D

Post autor: dziobu »

To co chcesz działa tylko z plikami wyeksportowanymi z S3D (tam jest cały zestaw nastaw w komentarzu).
Awatar użytkownika
dragonn
Zasłużony
Postów w temacie: 2
Posty: 6383
Rejestracja: 12 gru 2016, 21:50
Lokalizacja: Opole
Drukarka: LUME
x 1455

Re: Dekompozycja gcode na profil w S3D

Post autor: dragonn »

Spróbowałem, ale wydaje mi się że to nie zadziała z tym plikami g-code.
Zaimportowało ale wszystkie ustawienia były identyczne z aktualnie używanym przez mnie profilem.
Generalnie wydaje mi się że chodzi o nagłówek plik g-code, w tych co Ty wrzuciłeś jest coś takiego:

Kod: Zaznacz cały

;Sliced at: Thu 07-07-2016 18:35:20
;Basic settings: Layer height: 0.2 Walls: 1.2 Fill: 15
;Print time: #P_TIME#
;Filament used: #F_AMNT#m #F_WGHT#g
;Filament cost: #F_COST#
;M190 S50 ;Uncomment to add your own bed temperature line
A S3D tworzy w plikach g-code na początku takie coś:

Kod: Zaznacz cały

; G-Code generated by Simplify3D(R) Version 4.0.1
; Nov 3, 2018 at 10:42:57 AM
; Settings Summary
;   processName,Process1-1
;   applyToModels,Aeons_End_Insert - Dystans
;   profileName,EVO PLA2 DUET (modified)
;   profileVersion,2018-10-29 16:58:10
;   baseProfile,Default
;   printMaterial,PET-G
;   printQuality,High
;   printExtruders,
;   extruderName,Primary Extruder
;   extruderToolheadNumber,0
;   extruderDiameter,0.4
;   extruderAutoWidth,1
;   extruderWidth,0.48
;   extrusionMultiplier,0.96
;   extruderUseRetract,1
;   extruderRetractionDistance,1.9
;   extruderExtraRestartDistance,0
;   extruderRetractionZLift,0
;   extruderRetractionSpeed,900
;   extruderUseCoasting,0
;   extruderCoastingDistance,2
;   extruderUseWipe,0
;   extruderWipeDistance,2
;   primaryExtruder,0
;   layerHeight,0.2
;   topSolidLayers,3
;   bottomSolidLayers,2
;   perimeterOutlines,2
;   printPerimetersInsideOut,1
;   startPointOption,2
;   startPointOriginX,145
;   startPointOriginY,297
;   sequentialIslands,0
;   spiralVaseMode,0
;   firstLayerHeightPercentage,120
;   firstLayerWidthPercentage,100
;   firstLayerUnderspeed,0.3
;   useRaft,0
;   raftExtruder,0
;   raftTopLayers,3
;   raftBaseLayers,2
;   raftOffset,3
;   raftSeparationDistance,0.14
;   raftTopInfill,100
;   aboveRaftSpeedMultiplier,0.3
;   useSkirt,1
;   skirtExtruder,0
;   skirtLayers,2
;   skirtOutlines,1
;   skirtOffset,0.4
;   usePrimePillar,0
;   primePillarExtruder,999
;   primePillarWidth,12
;   primePillarLocation,7
;   primePillarSpeedMultiplier,1
;   useOozeShield,0
;   oozeShieldExtruder,999
;   oozeShieldOffset,2
;   oozeShieldOutlines,1
;   oozeShieldSidewallShape,1
;   oozeShieldSidewallAngle,30
;   oozeShieldSpeedMultiplier,1
;   infillExtruder,0
;   internalInfillPattern,Rectilinear
;   externalInfillPattern,Rectilinear
;   infillPercentage,10
;   outlineOverlapPercentage,10
;   infillExtrusionWidthPercentage,100
;   minInfillLength,5
;   infillLayerInterval,1
;   internalInfillAngles,45,-45
;   overlapInternalInfillAngles,0
;   externalInfillAngles,45,-45
;   generateSupport,0
;   supportExtruder,0
;   supportInfillPercentage,5
;   supportExtraInflation,2
;   supportBaseLayers,0
;   denseSupportExtruder,0
;   denseSupportLayers,3
;   denseSupportInfillPercentage,80
;   supportLayerInterval,1
;   supportHorizontalPartOffset,0.4
;   supportUpperSeparationLayers,1
;   supportLowerSeparationLayers,1
;   supportType,1
;   supportGridSpacing,1
;   maxOverhangAngle,45
;   supportAngles,0
;   temperatureName,Primary Extruder,Heatbed
;   temperatureNumber,0,0
;   temperatureSetpointCount,1,1
;   temperatureSetpointLayers,1,1
;   temperatureSetpointTemperatures,205,60
;   temperatureStabilizeAtStartup,1,1
;   temperatureHeatedBed,0,1
;   temperatureRelayBetweenLayers,0,0
;   temperatureRelayBetweenLoops,0,0
;   fanLayers,1,2
;   fanSpeeds,0,100
;   blipFanToFullPower,0
;   adjustSpeedForCooling,1
;   minSpeedLayerTime,6
;   minCoolingSpeedSlowdown,50
;   increaseFanForCooling,1
;   minFanLayerTime,45
;   maxCoolingFanSpeed,100
;   increaseFanForBridging,1
;   bridgingFanSpeed,100
;   use5D,1
;   relativeEdistances,1
;   allowEaxisZeroing,1
;   independentExtruderAxes,0
;   includeM10123,0
;   stickySupport,1
;   applyToolheadOffsets,0
;   gcodeXoffset,0
;   gcodeYoffset,0
;   gcodeZoffset,0
;   overrideMachineDefinition,0
;   machineTypeOverride,0
;   strokeXoverride,200
;   strokeYoverride,200
;   strokeZoverride,200
;   originOffsetXoverride,0
;   originOffsetYoverride,0
;   originOffsetZoverride,0
;   homeXdirOverride,-1
;   homeYdirOverride,-1
;   homeZdirOverride,-1
;   flipXoverride,1
;   flipYoverride,-1
;   flipZoverride,1
;   toolheadOffsets,0,0|0,0|0,0|0,0|0,0|0,0
;   overrideFirmwareConfiguration,0
;   firmwareTypeOverride,RepRap (Marlin/Repetier/Sprinter)
;   GPXconfigOverride,r2
;   baudRateOverride,115200
;   overridePrinterModels,0
;   printerModelsOverride
;   startingGcode,M98 Pstart_slicer.g,M702,M701 S"PLA"
;   layerChangeGcode,
;   retractionGcode,
;   toolChangeGcode,
;   endingGcode,M98 Pend_slicer.g
;   exportFileFormat,gcode
;   celebration,0
;   celebrationSong,Random Song
;   postProcessing,{REPLACE "; inner perimeter\n" "; inner perimeter\nM98 Pinner_perimeter.g\n"},{REPLACE "; outer perimeter\n" "; outer perimeter\nM98 Pouter_perimeter.g\n"},{REPLACE "; solid layer\n" "; solid layer\nM98 Psolid_layer.g\n"},{REPLACE "; infill\n" "; infill\nM98 Pinfill.g\n"},{REPLACE "; gap fill\n" "; gap fill\nM98 P gap_fill.g\n"},{REPLACE "; skirt\n" "; skirt\nM98 Pskirt.g\n"}
;   defaultSpeed,5400
;   outlineUnderspeed,0.8
;   solidInfillUnderspeed,0.8
;   supportUnderspeed,1
;   rapidXYspeed,33000
;   rapidZspeed,120
;   minBridgingArea,10
;   bridgingExtraInflation,1
;   bridgingExtrusionMultiplier,1
;   bridgingSpeedMultiplier,1
;   useFixedBridgingAngle,0
;   fixedBridgingAngle,0
;   applyBridgingToPerimeters,0
;   filamentDiameters,1.75|1.75|1.75|1.75|1.75|1.75
;   filamentPricesPerKg,46|46|46|46|46|46
;   filamentDensities,1.25|1.25|1.25|1.25|1.25|1.25
;   useMinPrintHeight,0
;   minPrintHeight,30.66
;   useMaxPrintHeight,0
;   maxPrintHeight,33.88
;   useDiaphragm,0
;   diaphragmLayerInterval,20
;   robustSlicing,0
;   mergeAllIntoSolid,0
;   onlyRetractWhenCrossingOutline,0
;   retractBetweenLayers,1
;   useRetractionMinTravel,1
;   retractionMinTravel,1
;   retractWhileWiping,0
;   onlyWipeOutlines,0
;   avoidCrossingOutline,0
;   maxMovementDetourFactor,1.5
;   toolChangeRetractionDistance,12
;   toolChangeExtraRestartDistance,-0.5
;   toolChangeRetractionSpeed,600
;   externalThinWallType,1
;   internalThinWallType,1
;   thinWallAllowedOverlapPercentage,45
;   singleExtrusionMinLength,1
;   singleExtrusionMinPrintingWidthPercentage,50
;   singleExtrusionMaxPrintingWidthPercentage,200
;   singleExtrusionEndpointExtension,0.2
;   horizontalSizeCompensation,0
Czyli w zasadzie zrzuca wszystkie ustawienia do pliki g-code przy każdym jego tworzeniu i pewnie to próbuje zaimportować. Czyli pliki które Ty wrzuciłeś albo nie były cięte w S3D albo ktoś to wyciął.
BTW.
Potencjalnie w pliku który wrzuciłeś jest ustawiona taka retrakcja:

Kod: Zaznacz cały

G1 F2700 E-4.49826
Czyli jakieś 4.5mm oraz 45mm/s (2700mm/min / 60)
Pajacyk0v

Re: Dekompozycja gcode na profil w S3D

Post autor: Pajacyk0v »

...a miało być tak pięknie :]

No cóż, zostanie ręczne grzebanie w pliku. Dzięki!
Awatar użytkownika
Olson
Postów w temacie: 1
Posty: 236
Rejestracja: 06 gru 2017, 05:20
Lokalizacja: Gdańsk
Drukarka: OCHC CoreXY DIY
x 99

Re: Dekompozycja gcode na profil w S3D

Post autor: Olson »

Co do retrakcji, dragonn prędkość podał dobrą ale długość to 5mm.
Wychodzi to z różnicy E retrakcji, a E poprzedniego jak w tym fragmencie:

Kod: Zaznacz cały

G1 X80.98 Y90.62 E8.61196
G1 F2700 E3.61196
Warstwa jest 0.2
Prędkości wypełnienia i wewnętrznych oraz zewnętrznych ścian F1200 czyli 20mm/s
Prędkość ruchu nie roboczego (travel) F3600 czyli 60mm/s
Awatar użytkownika
dragonn
Zasłużony
Postów w temacie: 2
Posty: 6383
Rejestracja: 12 gru 2016, 21:50
Lokalizacja: Opole
Drukarka: LUME
x 1455

Re: Dekompozycja gcode na profil w S3D

Post autor: dragonn »

Ah, racja. To by tłumaczyło dziwną wartość. Jestem przyzwyczajony do Gcode w trybie relatywny gdzie każdy ruch podaje bezpośrednio wartość niezalężoną od poprzedniego ruchu.
Awatar użytkownika
McKee
Zasłużony
Postów w temacie: 1
Posty: 2630
Rejestracja: 20 kwie 2016, 23:00
x 717

Re: Dekompozycja gcode na profil w S3D

Post autor: McKee »

dragonn pisze:Jestem przyzwyczajony do Gcode w trybie relatywny gdzie każdy ruch podaje bezpośrednio wartość niezalężoną od poprzedniego ruchu.
I to jest jedyna "słuszna" metoda.
Więcej o tym jest np tu: http://www.sublimelayers.com/2017/10/to ... trude.html
Relative vs Absolute Extrusion.png
Motto na dziś: "How may I abuse you?"
ODPOWIEDZ

Wróć do „Slicery”