Project:RELaserSoftware/MOL file format: Difference between revisions

From London Hackspace Wiki

Some new findings
(Some new findings)
Line 98: Line 98:
* 00000000: 0x00001000 Size of file in bytes
* 00000000: 0x00001000 Size of file in bytes


Unknown, fixed value
Unknown, this seems to be close to the number of motion blocks plus 30.
* 00000004: 0x00000022 34d ?
* 00000004: 0x00000022  
 
- not always fixed, FIVE.MOL has 00 00 00 2f...


File Version Number: file was written with dll 4.1.2.2
File Version Number: file was written with dll 4.1.2.2
Line 124: Line 122:
* 0000001c: 0x00000000
* 0000001c: 0x00000000


Describing the stepper resolution in x and y
Size of the artwork in steps (divide by 208.33 to get millimeters (depending on the machine configuration))
* 00000020: -20833 steps per 100mm in x direction
* 00000020: -20833 artwork width in steps
* 00000024: -20833 steps per 100mm in y direction
* 00000024: -20833 artwork height in steps


Unknown, fixed value
Unknown, fixed value
Line 140: Line 138:
* 00000070: 0x00000001 ?
* 00000070: 0x00000001 ?


Unknown, fixed value
Unknown, changes!
* 00000074: 0x00000002 ?
* 00000074: 0x00000002 ?


Unknown, fixed value, maybe the number of blocks in this file?
Unknown, changes!
* 00000078: 0x00000003 ?
* 00000078: 0x00000003 ?


Unknown, fixed value
Unknown, changes!
* 0000007c: 0x00000005 ?
* 0000007c: 0x00000005 ?


Line 298: Line 296:
This is the end of subroutine 1
This is the end of subroutine 1
* 000005f0: : end subroutine 1
* 000005f0: : end subroutine 1
== Data Block at 0x00000600 ==
This block cuts the bounding box of the artwork plus 2mm on each side. This block is optional. Fill with 0 if not used.


== Data Block at 0x00000a00 ==
== Data Block at 0x00000a00 ==
Line 334: Line 336:
* 00000a50: : laser power corner:40.00%, straight:40.00%, p3:30.00%, p4:50.00%, startspeed:1041(5.00%), speed:20833(100.00%), ??:0
* 00000a50: : laser power corner:40.00%, straight:40.00%, p3:30.00%, p4:50.00%, startspeed:1041(5.00%), speed:20833(100.00%), ??:0


Command block used for repetition. Interestingly, the blower commands are inside the block.
Motion Command Block. These blocks seem to divide the file into 2kByte chunks at
command boundaries. Command blocks never contain more than 510 (512?) words
(<=2kBytes). This subroutine can ahve many command blocks. Motion Commands
are switching periphery (laser, blower), setting acceleration and deceleration, and
moving the head.
* 00000a70: : command block follows, 290 words (form 00000a78 to 00000f00)
* 00000a70: : command block follows, 290 words (form 00000a78 to 00000f00)


17

edits