't is al eens eerder ter sprake gekomen, maar ik heb 't voor elkaar.. een beginnetje in elk geval.
Wat?.. DXF bestanden aanmaken met EdingCNC.. Wat?.. Ja.. een paar subroutines om punten en lijnen in een DXF bestand te zetten..
Waar is't goed voor?..
Stel.. je schrijft een aantal tastroutines, dan roep je daarin ook die subroutines aan om punten of lijnen op te slaan.
Denk bijvoorbeeld aan 't meten van een onderdeel, je krijgt meteen een DXFje met punten of lijnen, dit kan van pas komen als je een onderdeel na wilt maken..
Nou moet ik toegeven dat een taster natuurlijk een radius heeft.. zodra ik een taster heb, dan zet ik een rondje om elk punt heen.. de diameter haalt ie dan wel uit de tooltabel, zodat je tangentiaal aan die rondjes een lijn kan trekken om de absolute contour te krijgen.. zover ben ik nog niet..
Hoe't werkt?..
Code: Selecteer alles
;REGION USERFUNCTIONS
SUB USER_1
GOSUB DXF_HEADER
ENDSUB
SUB USER_2
GOSUB DXF_POINT
ENDSUB
SUB USER_3
GOSUB DXF_LINE
ENDSUB
SUB USER_4
GOSUB DXF_FOOTER
ENDSUB
SUB USER_5
MSG"USER 5"
ENDSUB
SUB USER_6
MSG"USER 6"
ENDSUB
SUB USER_7
MSG"USER 7"
ENDSUB
SUB USER_8
MSG"USER 8"
ENDSUB
SUB USER_9
MSG"USER 9"
ENDSUB
SUB USER_10
MSG"USER 10"
ENDSUB
SUB USER_11
MSG"USER 11"
ENDSUB
SUB USER_12
MSG"USER 12"
ENDSUB
SUB USER_13
MSG"USER 13"
ENDSUB
SUB USER_14
MSG"USER 14"
ENDSUB
SUB USER_15
MSG"USER 15"
ENDSUB
SUB USER_16
MSG"USER 16"
ENDSUB
SUB USER_17
MSG"USER 17"
ENDSUB
SUB USER_18
MSG"USER 18"
ENDSUB
SUB USER_19
MSG"USER 19"
ENDSUB
SUB USER_20
MSG"USER 20"
ENDSUB
;/REGION
;REGION DXF
SUB DXF_HEADER
MSG "DXF FILE CONTOUR.DXF CREATED"
MSG "DXF HEADER"
Logfile "Contour.DXF" 0
Logfile "Contour.DXF" 1
logmsg "0"
logmsg "SECTION"
Logmsg "2"
Logmsg "ENTITIES"
Logmsg "0"
#501=[#5001]
#502=[#5002]
#503=[#5003]
ENDSUB
SUB DXF_POINT
LOGMSG "POINT"
LOGMSG "8"
LOGMSG "0"
LOGMSG "10"
LOGMSG #5001
LOGMSG "20"
LOGMSG #5002
LOGMSG "30"
LOGMSG #5003
LOGMSG "0"
MSG "POINT STORED AT : X"#5001" Y"#5002" Z"#5003
ENDSUB
SUB DXF_LINE
LOGMSG "LINE"
LOGMSG "8"
LOGMSG "0"
LOGMSG "10"
LOGMSG #501
LOGMSG "20"
LOGMSG #502
LOGMSG "30"
LOGMSG #503
LOGMSG "11"
LOGMSG #5001
LOGMSG "21"
LOGMSG #5002
LOGMSG "31"
LOGMSG #5003
LOGMSG "0"
MSG "LINE STORED FROM : X"#5001" Y"#5002 " Z"#5003" TO X"#5001 " Y"#5002 " Z"#5003
#501=[#5001]
#502=[#5002]
#503=[#5003]
ENDSUB
SUB DXF_FOOTER
LOGMSG "ENDSEC"
LOGMSG "0"
LOGMSG "EOF"
MSG "DXF FOOTER INSERTED, FILE CLOSED"
EXEC "NOTEPAD.EXE" CONTOUR.DXF
ENDSUB
;/REGION
je begint met het aanmaken van een nieuwe "Contour.DXF", de oude wordt zonder pardon gewist.. let daar op..
In die DXF wordt de Header gezet, en daaronder kun je met de routines voor punten en lijnen je .. je raadt het al.. punten en lijnen in gaan voegen.
bij het aanmaken van de DxF wordt de huidige positie van de machine gebruikt als startpunt van de lijn, elke volgende lijn komt vanaf het eind van de vorige lijn.
als je alles eringekliederd hebt.. sluit je de DXF met de DXF_Footer functie, en dan opent ie in Notepad.
Wat je dan nog moet doen is de eerste regel, de timestamp eruit halen, en als je niet met de Beta 4.04 werkt, moet je alles nog even naar Uppercase veranderen (ik doe dat altijd met Notepad++, maar ik weet natuurlijk niet welke Editor iedereen gebruikt. vandaar..
Ik heb de routines apart gezet, en niet in de UserSubs, zodat je ze ook aan kan roepen vanuit elke andere routine die je maar wilt schrijven..
Doe d'r wat leuks mee!!