User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
lxplan [2024/04/30 15:30] – created ssm2017lxplan [2026/01/27 12:47] (current) – [js version] ssm2017
Line 1: Line 1:
 ===== lxplan ===== ===== lxplan =====
 ==== library ==== ==== library ====
-=== kind === +==== fields ==== 
-  * cmymvr +=== graphic fields === 
-  * ers +^ Key ^ Human Key ^ 
-  * fl +| loc_x | Location X | 
-  * focus +| loc_y | Location Y | 
-  fres +| loc_z | Location Z | 
-  * led7 +| size_w | Width | 
-  * led7s +| size_h | Height | 
-  mirror +| start_x | Start X | 
-  misc +| start_y | Start Y | 
-  mover +| end_x | End X | 
-  * par +| end_y | End Y | 
-  rgb +| len | Length | 
-  scroll +| dir | Direction | 
-  * strip +| ctl1_x | Control One X | 
-  * zers+| ctl1_y | Control One Y | 
 +| ctl2_x | Control Two X | 
 +| ctl2_y | Control Two Y | 
 +| scale_w | Width  % | 
 +| scale_h | Height % | 
 +| draw_fl | Draw Fill | 
 +| dr_st | Draw Stroke | 
 +| fl_color | Fill Color | 
 +| st_color | Stroke Color | 
 +| st_w | Stroke Width | 
 +| ln_style | Line Style | 
 +| ch_font | Change Font | 
 +| font | Font | 
 +| rotate | Rotation | 
 +| id | Key ID | 
 +| loc_l | Left | 
 +| loc_r | Right | 
 +| loc_t | Top | 
 +| loc_b | Bottom | 
 +| start_z | Start Z | 
 +| end_z | End Z | 
 +| n_sides | Sides | 
 +| crop_l | Crop Left | 
 +| crop_r | Crop Right | 
 +| crop_t | Crop Top | 
 +| crop_b | Crop Bottom | 
 +| 3dtype | Type | 
 +=== report fields === 
 +^ Key ^ Human Key ^ 
 +| space | Space | 
 +| color+frame | Color/Frame | 
 +| color+type | Color/Type | 
 +| pdist | Location | 
 +| foc_pt | Focus Pt. | 
 +| bnc_pt | Bounce Pt. | 
 +| INPUT | Input | 
 +| sheets | Sheets | 
 +| full_cname | Full Color Name | 
 +| patch | Patch | 
 +| uuid | UUID | 
 +| keep | Keep | 
 +=== key fields === 
 +^ Key ^ Human Key ^ RPT ^ 
 +| name | Type | | 
 +| fname | Full Name | | 
 +| id | ID | n | 
 +| sid | Symbol ID | | 
 +| have | Inventory | | 
 +| balance | Balance | | 
 +| lamp | Lamp | | 
 +| watts | Watts | | 
 +| frame | Color Frame | | 
 +| beam | Field Angle | n | 
 +| bm_x | Field X | n | 
 +| bm_y | Field Y | n | 
 +| bm_w | Field Wide | n | 
 +| bm_t | Field Tight | n | 
 +| cd | Candela | n | 
 +| cd_w | Candela Wide | n | 
 +| cd_t | Candela Tight | n | 
 +| abm | Beam Angle | n | 
 +| abm_x | Beam X | n | 
 +| abm_y | Beam Y | n | 
 +| abm_w | Beam Wide | n | 
 +| abm_t | Beam Tight | n | 
 +| wt | Weight | | 
 +| cpf | Sections Per Fixture | n | 
 +| lpc | Lamps Per Circuit | n | 
 +| dbl | Distance Between Lamps | n | 
 +| note | More Info | | 
 +| scroll | Device Params | n | 
 +| dmode | Mode | n | 
 +| mixtype | Mix Type | n | 
 +| d_mk | Default Mark | n | 
 +| acc_loc | Placement | n | 
 +| d_adj_x | Default X Offset | n | 
 +| d_adj_y | Default Y Offset | n | 
 +| d_adj_z | Default Z Offset | n | 
 +=== kinds === 
 +^ Key ^ Human Key ^ Keyfields ^ Infofields ^ 
 +| ers | Leko / ERS | name, fname, id, sid, have, lamp, watts, frame, beam, cd, abm, wt, note, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, gobo, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, adj_x, adj_y, adj_z | 
 +| zers | Zoom Leko / ERS | name, fname, id, sid, have, lamp, watts, frame, bm_w, bm_t, cd_w, cd_t, abm_w, abm_t, wt, note, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, gobo, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, vbeam, vcd, adj_x, adj_y, adj_z | 
 +fres | Fresnel / PC | name, fname, id, sid, have, lamp, watts, frame, bm_w, bm_t, cd_w, cd_t, abm_w, abm_t, wt, note, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, vbeam, vcd, adj_x, adj_y, adj_z | 
 +| par | PAR | name, fname, id, sid, have, lamp, watts, frame, bm_x, bm_y, cd, abm_x, abm_y, wt, note, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, foc_a, adj_x, adj_y, adj_z | 
 +| fl | Flood | name, fname, id, sid, have, lamp, watts, frame, beam, cd, abm, wt, note, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, adj_x, adj_y, adj_z | 
 +| strip | Striplight | name, fname, id, sid, have, lamp, watts, frame, bm_x, bm_y, cd, abm_x, abm_y, wt, cpf, lpc, dbl, note, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, foc_x, foc_y, foc_z, glr, foc_a, adj_x, adj_y, adj_z | 
 +| scroll | DMX Device | name, fname, id, sid, have, note, scroll, dmode, d_mk, acc_loc | chan, chpt, cir, dim, grp, mk, user1, user2, user3, owner, dtable | 
 +mirror | Mirror | name, fname, id, sid, have, note, scroll, dmode, d_mk, acc_loc | chan, chpt, cir, dim, grp, mk, note, user1, user2, user3, owner, dtable, mpan, mtilt, fpan, ftilt | 
 +| focus | Focus Point | name, fname, id, sid | use, foc_x, foc_y, foc_z | 
 +misc | Other | name, fname, id, sid, have, acc_loc | | 
 +mover | Automated Fixture | name, fname, id, sid, have, lamp, watts, frame, bm_w, bm_t, cd_w, cd_t, abm_w, abm_t, wt, note, scroll, dmode, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, gobo, use, grp, mk, note, user1, user2, user3, foc_x, foc_y, foc_z, glr, vbeam, vcd, chans, dtable, mpan, mtilt, fpan, ftilt, vbm_per, adj_x, adj_y, adj_z | 
 +| cmymvr | Color Mixing Automated Fixture | name, fname, id, sid, have, lamp, watts, frame, bm_w, bm_t, cd_w, cd_t, abm_w, abm_t, wt, note, scroll, dmode, mixtype, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, gobo, use, grp, mk, note, user1, user2, user3, foc_x, foc_y, foc_z, glr, vbeam, vcd, chans, dtable, mpan, mtilt, fpan, ftilt, vbm_per, adj_x, adj_y, adj_z | 
 +rgb | Color Mixing Rectangular Beam (obsolete rgb) | name, fname, id, sid, have, lamp, watts, frame, bm_x, bm_y, cd, abm_x, abm_y, wt, note, scroll, dmode, mixtype, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, dtable, adj_x, adj_y, adj_z | 
 +| rgba | Color Mixing Rectangular Beam (obsolete rgba) | name, fname, id, sid, have, lamp, watts, frame, bm_x, bm_y, cd, abm_x, abm_y, wt, note, scroll, dmode, mixtype, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, dtable, adj_x, adj_y, adj_z | 
 +| led7 | Color Mixing Rectangular Beam | name, fname, id, sid, have, lamp, watts, frame, bm_x, bm_y, cd, abm_x, abm_y, wt, note, scroll, dmode, mixtype, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, foc_a, dtable, adj_x, adj_y, adj_z | 
 +| led7s | Color Mixing Striplight | name, fname, id, sid, have, lamp, watts, frame, bm_x, bm_y, cd, abm_x, abm_y, wt, cpf, lpc, dbl, note, scroll, dmode, mixtype, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, use, grp, mk, note, user1, user2, user3, foc_x, foc_y, foc_z, glr, dtable, adj_x, adj_y, adj_z | 
 +| cmers | Color Mixing Leko / ERS | name, fname, id, sid, have, lamp, watts, frame, beam, cd, abm, wt, note, scroll, dmode, mixtype, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, gobo, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, dtable, adj_x, adj_y, adj_z | 
 +| cmzers | Color Mixing Zoom ERS | name, fname, id, sid, have, lamp, watts, frame, bm_w, bm_t, cd_w, cd_t, abm_w, abm_t, wt, note, scroll, dmode, mixtype, d_mk, d_adj_x, d_adj_y, d_adj_z | hang, num, color, color2, chan, chpt, cir, dim, gobo, use, grp, mk, note, user1, user2, user3, userF1, userF2, userF3, foc_x, foc_y, foc_z, glr, vbeam, vcd, dtable, adj_x, adj_y, adj_z | 
 +| cmscroll | Color Mixing DMX Device | name, fname, id, sid, have, note, scroll, dmode, mixtype, d_mk | chan, chpt, cir, dim, grp, mk, user1, user2, user3, owner, dtable | 
 +| netnode | Network Device | name, fname, id, sid, have, note, dmode | note, user1, user2, user3, ipaddr, mode, univ | 
 +=== categories === 
 +<code> 
 +Hide 
 +Position 
 +Light 
 +More 
 +Focus 
 +Device 
 +3D 
 +</code> 
 +=== sub indices === 
 +^ Key ^ Human Key ^ Subindex ^ Abbr ^ GDTF ^ 
 +| shutter | Shutter | 101 | sht | Shutter1 | 
 +| strobe | Strobe | 102 | St | StrobeRate,Strobe1 | 
 +| wh1 | Gobo Wheel | 130 | gW | Gobo1 | 
 +| wh1rot | Gobo Rotation | 131 | gWr | Gobo1PosRotate | 
 +| wh1fun | Gobo Function | 132 | gWf | | 
 +| wh2rot | Gobo 2 Rotation | 134 | gW2r | Gobo2PosRotate | 
 +| wh2fun | Gobo 2 Function | 135 | gW2f | | 
 +| shut1a | Shutter 1 | 151 | sh1 | Blade1A | 
 +| shut1b | Shutter 1b | 152 | sh1b | Blade1B,Blade1Rot | 
 +| shut2a | Shutter 2 | 153 | sh2 | Blade2A | 
 +| shut2b | Shutter 2b | 154 | sh2b | Blade2B,Blade2Rot | 
 +| shut3a | Shutter 3 | 155 | sh3 | Blade3A | 
 +| shut3b | Shutter 3b | 156 | sh3b | Blade3B,Blade3Rot | 
 +| shut4a | Shutter 4 | 157 | sh4 | Blade4A | 
 +| shut4b | Shutter 4b | 158 | sh4b | Blade4B,Blade4Rot | 
 +| shutrot | Shutter Rotation | 160 | shr | ShaperRot | 
 +| spd_c | Color Speed | 171 | clrspd | ColorMixMSpeed | 
 +| spd_pt | Pan/Tilt Speed | 172 | p/tspd | PositionMSpeed | 
 +| spd_b | Beam Speed | 174 | bmspd | IrisMSpeed,ZoomMSpeed | 
 +| spd_e | Edge Speed | 175 | edgspd | FocusMSpeed | 
 +| spd_fn | Fan Speed | 177 | fnspd | | 
 +| fx | FX | 180 | FX | | 
 +| fx1rot | Wheel 1 Rotation | 183 | wh1r | | 
 +| prism | Prism | 189 | pri | Prism1 | 
 +| cntl | Control | 190 | cntl | Control1 | 
 +| mac | Macros | 191 | mac | | 
 +| mac_c | Color Macros | 192 | Cmac | ColorMacro1 | 
 +| reset | Reset | 199 | Rst | FixtureCalibrationReset | 
 +| Mode | Mode | 200 | mode | Mode | 
 +=== lt info fields === 
 +^ Key ^ Human Key ^ Inner ^ Single ^ Numeric ^ Angle ^ Dist ^ Category ^ Subindex ^ Abbr ^ GDTF ^ Control ^ Font Name ^ Font Size ^ RPT ^ 
 +| hang | Position | | | | 0.0 | 0.0 | 2 | | | | | Helvetica | 10 | | 
 +| num | # | y | | y | 0.0 | 0.0 | 2 | | | | | Helvetica | 6 | | 
 +| color | Color | | | | 0.0 | 7.0 | 2 | 2 | frame | Color1 | y | Times-Italic | 9 | | 
 +| color2 | Frost | | | | 0.0 | 14.0 | 3 | 9 | | Frost1 | y | Times-Roman | 9 | | 
 +| chan | Channel | | | y | 180.0 | 8.0 | 2 | | | | | Helvetica-Bold | 9 | | 
 +| chpt | Channel Part | | | y | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| cir | Circuit | | | y | 180.0 | 20.0 | 3 | | | | | Helvetica | 10 | | 
 +| dim | Address | | | y | 180.0 | 20.0 | 2 | | | | | Helvetica | 10 | | 
 +| gobo | Template | | | | 0.0 | 20.0 | 2 | 10 | gobo | Gobo1 | y | Helvetica | 10 | | 
 +| use | Use | | | | 0.0 | 20.0 | 2 | | | | | Helvetica | 10 | | 
 +| grp | Group | | | | 0.0 | 0.0 | 2 | | | | | Helvetica | 10 | | 
 +| mk | Mark | y | | | 0.0 | 6.0 | 3 | | | | | Helvetica | 6 | | 
 +| note | Note | | | | 0.0 | 0.0 | 3 | | | | | Helvetica | 10 | | 
 +| user1 | User Data | | | | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| user2 | User Data 2 | | | | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| user3 | User Data 3 | | | | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| userF1 | Focus Center | | | | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| userF2 | Focus Beam | | | | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| userF3 | Focus Cuts | | | | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| foc_x | Focus X | | | | 0.0 | 0.0 | 4 | | | | | Helvetica | 10 | | 
 +| foc_y | Focus Y | | | | 0.0 | 0.0 | 4 | | | | | Helvetica | 10 | | 
 +| foc_z | Focus Height | | | | 0.0 | 0.0 | 4 | | | | | Helvetica | 10 | n | 
 +| glr | Rendering | | | | 0.0 | 0.0 | 6 | | | | | Helvetica | 12 | n | 
 +| edge | Edge | | | | 0.0 | 0.0 | 4 | 13 | edge | Focus1 | y | Helvetica | 12 | n | 
 +| vbeam | Spot/Flood | | | | 0.0 | 0.0 | 4 | 8 | zoom | Zoom | y | Helvetica | 10 | n | 
 +| vcd | Cd@Spot/Flood | | | | 0.0 | 0.0 | 4 | 11 | vCd | | y | Helvetica | 10 | n | 
 +| foc_a | Beam Axis | | | | 0.0 | 0.0 | 4 | 12 | Bma | ShaperRot | y | Helvetica | 10 | | 
 +| chans | Channels | | | | 0.0 | 0.0 | 0 | | | | | Helvetica | 12 | | 
 +| owner | Owner ID | | | | 0.0 | 0.0 | 5 | | | | | Helvetica | 10 | | 
 +| dtable | Parameters | | | | 0.0 | 0.0 | 5 | | | | | Helvetica | 12 | | 
 +| mpan | Pan | | | | 0.0 | 0.0 | 5 | 3 | pan | Pan | y | Helvetica | 12 | n | 
 +| mtilt | Tilt | | | | 0.0 | 0.0 | 5 | 5 | tilt | Tilt | y | Helvetica | 12 | n | 
 +| vbm_per | Iris% | | y | | 0.0 | 0.0 | 5 | 7 | iris | Iris | y | Helvetica | 12 | n | 
 +| intensity | Intensity | | | | 0.0 | 0.0 | 5 | 1 | int% | Dimmer | y | Helvetica | 12 | n | 
 +| mixHue | Hue | | | | 0.0 | 0.0 | 5 | 19 | hue | HSB_Hue | y | Helvetica | 12 | n | 
 +| mixSat | Saturation | | | | 0.0 | 0.0 | 5 | 20 | sat. | HSB_Saturation | y | Helvetica | 12 | n | 
 +| mixCy | Cyan | | | | 0.0 | 0.0 | 5 | 21 | Cy | ColorSub_C,ColorAdd_C,ColorRGB_Cyan | y | Helvetica | 12 | n | 
 +| mixCIEx | Color X | | | | 0.0 | 0.0 | 5 | 17 | cX | CIE_X | y | Helvetica | 12 | n | 
 +| mixCIEy | Color Y | | | | 0.0 | 0.0 | 5 | 18 | cY | CIE_Y | y | Helvetica | 12 | n | 
 +| mixMg | Magenta | | | | 0.0 | 0.0 | 5 | 22 | Mg | ColorSub_M,ColorAdd_M,ColorRGB_Magenta | y | Helvetica | 12 | n | 
 +| mixYl | Yellow | | | | 0.0 | 0.0 | 5 | 23 | Yl | ColorSub_Y,ColorAdd_Y,ColorRGB_Yellow | y | Helvetica | 12 | n | 
 +| mixRd | Red | | | | 0.0 | 0.0 | 5 | 24 | Rd | ColorAdd_R,ColorRGB_Red | y | Helvetica | 12 | n | 
 +| mixGn | Green | | | | 0.0 | 0.0 | 5 | 25 | Gn | ColorAdd_G,ColorRGB_Green | y | Helvetica | 12 | n | 
 +| mixBl | Blue | | | | 0.0 | 0.0 | 5 | 26 | Bl | ColorAdd_B,ColorRGB_Blue | y | Helvetica | 12 | n | 
 +| mixRo | Red-Orange | | | | 0.0 | 0.0 | 5 | 27 | Ro | | y | Helvetica | 12 | n | 
 +| mixAm | Amber | | | | 0.0 | 0.0 | 5 | 28 | Am | ColorAdd_RY,ColorAdd_A | y | Helvetica | 12 | n | 
 +| mixIn | Indigo | | | | 0.0 | 0.0 | 5 | 29 | Ig | ColorAdd_BM | y | Helvetica | 12 | n | 
 +| mixWh | White | | | | 0.0 | 0.0 | 5 | 30 | Wh | ColorAdd_W | y | Helvetica | 12 | n | 
 +| mixWW | Warm White | | | | 0.0 | 0.0 | 5 | 31 | wW | ColorAdd_WW | y | Helvetica | 12 | n | 
 +| mixCW | Cool White | | | | 0.0 | 0.0 | 5 | 32 | cW | ColorAdd_CW | y | Helvetica | 12 | n | 
 +| mixLm | Lime | | | | 0.0 | 0.0 | 5 | 33 | Lm | ColorAdd_GY,ColorAdd_L | y | Helvetica | 12 | n | 
 +| mixUV | UV | | | | 0.0 | 0.0 | 5 | 34 | uv | ColorAdd_UV | y | Helvetica | 12 | n | 
 +| adj_x | X offset | | | | 0.0 | 0.0 | 6 | | | | | Helvetica | 12 | n | 
 +| adj_y | Y offset | | | | 0.0 | 0.0 | 6 | | | | | Helvetica | 12 | n | 
 +| adj_z | Z offset | | | | 0.0 | 0.0 | 6 | | | | | Helvetica | 12 | n | 
 +| ipaddr | IP Address | | y | | 0.0 | 9.0 | 5 | | | | | CourierNewPSMT | 12 | | 
 +| mode | Mode | | | | 0.0 | 0.0 | 5 | | | | | ArialNarrow | 12 | | 
 +| univ | Universe | | | y | 180.0 | 7.0 | 5 | | | | | Arial-Black | 12 | | 
 +=== pos info fields === 
 +^ Key ^ Human Key ^ Inner ^ Single ^ Angle ^ Dist ^ Category ^ Font Name ^ Font Size ^ 
 +| pname | Name | y | | 0.0 | 10.0 | 1 | Helvetica-BoldOblique | 12 | 
 +| ht | Height | y | | 0.0 | 0.0 | 1 | Helvetica | 10 | 
 +| n_o | Numbering | y | | 0.0 | 0.0 | 0 | Helvetica | 10 | 
 +| l_o | Layout | y | | 0.0 | 0.0 | 0 | Helvetica-BoldOblique | 12 | 
 +| space | Spacing | y | | 0.0 | 0.0 | 1 | Helvetica | 12 | 
 +| l_off | Offset Layout | y | | 0.0 | 0.0 | 0 | Helvetica | 12 | 
 +| pnote | Note | y | y | 0.0 | 0.0 | 1 | Helvetica | 10 | 
 +| map_st_x | Map Start X | y | | 0.0 | 0.0 | 6 | Helvetica | 10 | 
 +| map_st_y | Map Start Y | y | | 0.0 | 0.0 | 6 | Helvetica | 10 | 
 +| map_st_z | Map Start Z | y | | 0.0 | 0.0 | 6 | Helvetica | 10 | 
 +| map_ed_x | Map End X | y | | 0.0 | 0.0 | 6 | Helvetica | 10 | 
 +| map_ed_y | Map End Y | y | | 0.0 | 0.0 | 6 | Helvetica | 10 | 
 +| map_ed_z | Map End Z | y | | 0.0 | 0.0 | 6 | Helvetica | 10 | 
 +| map_axis | Map Axis | y | | 0.0 | 0.0 | 6 | Helvetica | 12 | 
 +==== Examples ====
  
 +===== template =====
 +<code xml>
 +<?xml version="1.0" encoding="utf-8"?>
 +<key>
 +    <lamps>
 +        <properties>
 +            #Thu Jan 15 16:34:27 CET 2026
 +
 +        </properties>
 +    </lamps>
 +    <frames>
 +        <properties>
 +            #Thu Jan 15 16:34:27 CET 2026
 +
 +        </properties>
 +    </frames>
 +    <kentry>
 +        <kind>misc</kind>
 +        <name>toto</name>
 +
 +        <custom>
 +            <symbol>
 +                <id>4b6ca21a-1202-4b37-9121-281572b09a7d</id>
 +                <group>
 +                    <shape>
 +                        <class>LXGroup</class>
 +                        <shapes>
 +                        <shape>
 +                            <class>LXShape</class>
 +                            <brectx>144.0</brectx>
 +                            <brecty>452.0</brecty>
 +                            <brectw>86.0</brectw>
 +                            <brecth>135.0</brecth>
 +                            <rotate>0.0</rotate>
 +                            <drawSt>y</drawSt>
 +                            <stWidth>1.0</stWidth>
 +                            <stColor>0.0,0.0,0.0,1.0</stColor>
 +                            <drawFl>y</drawFl>
 +                            <flColor>1.0,1.0,1.0,1.0</flColor>
 +                            <lnStyle>0</lnStyle>
 +                            <lock>n</lock>
 +                        </shape>
 +                        <shape>
 +                            <class>LXLineShape</class>
 +                            <brectx>130.0</brectx>
 +                            <brecty>550.0</brecty>
 +                            <brectw>132.0</brectw>
 +                            <brecth>1.0</brecth>
 +                            <rotate>0.0</rotate>
 +                            <drawSt>y</drawSt>
 +                            <stWidth>1.0</stWidth>
 +                            <stColor>0.0,0.0,0.0,1.0</stColor>
 +                            <drawFl>y</drawFl>
 +                            <flColor>1.0,1.0,1.0,1.0</flColor>
 +                            <lnStyle>0</lnStyle>
 +                            <lock>n</lock>
 +                            <startx>130.0</startx>
 +                            <starty>550.0</starty>
 +                            <endx>262.0</endx>
 +                            <endy>551.0</endy>
 +                        </shape>
 +                    </shapes>
 +                    </shape>
 +                </group>
 +            </symbol>
 +        </custom>
 +    </kentry>
 +
 +    <filevers>4.2</filevers>
 +</key>
 +</code>
 +<code xml>
 +<?xml version="1.0" encoding="utf-8"?>
 +<key>
 +    <lamps>
 +        <properties>
 +            #Tue Apr 30 09:39:12 CEST 2024
 +
 +        </properties>
 +    </lamps>
 +    <frames>
 +        <properties>
 +            #Tue Apr 30 09:39:12 CEST 2024
 +
 +        </properties>
 +    </frames>
 +    <colors>
 +        <color_library />
 +    </colors>
 +    <gobos>
 +        <gobo_library />
 +    </gobos>
 +    <kentry>
 +        <kind>zers</kind>
 +        <wt>17</wt>
 +        <watts>750</watts>
 +        <note />
 +        <have />
 +        <sid>104</sid>
 +        <d_mk />
 +        <lamp>HPL750</lamp>
 +        <frame>7.5&quot;</frame>
 +        <abm_w>29</abm_w>
 +        <abm_t>21</abm_t>
 +        <id>s42550</id>
 +        <bm_w>46</bm_w>
 +        <d_adj_z>-1&apos;-6&quot;</d_adj_z>
 +        <bm_t>27</bm_t>
 +        <d_adj_y />
 +        <d_adj_x />
 +        <cd_w>63480</cd_w>
 +        <cd_t>150745</cd_t>
 +        <fname>ETC 42550</fname>
 +        <name>25-50° Source Four Zoom</name>
 +    </kentry>
 +    <kentry>
 +        <kind>zers</kind>
 +        <name>714sx2</name>
 +        <id>rj714sx2</id>
 +        <lamp>CP92</lamp>
 +        <wt>23.2</wt>
 +        <sid>4b6ca21a-1202-4b37-9121-281572b09a7d</sid>
 +        <frame>8.46&quot;</frame>
 +        <cd>52000</cd>
 +        <fname>RJ 714sx2</fname>
 +        <watts>2000</watts>
 +        <note>2kw = cp92 52000lm / 2500w = cp91 65000lm</note>
 +        <abm_w>40</abm_w>
 +        <abm_t>40</abm_t>
 +        <bm_w>15</bm_w>
 +        <bm_t>15</bm_t>
 +        <custom>
 +            <symbol>
 +                <id>4b6ca21a-1202-4b37-9121-281572b09a7d</id>
 +                <group>
 +                    <shape>
 +                        <class>LXGroup</class>
 +                        <shapes>
 +                            <shape>
 +                                <class>LXPathShape</class>
 +                                <brectx>0.0</brectx>
 +                                <brecty>452.0</brecty>
 +                                <brectw>0.0</brectw>
 +                                <brecth>0.0</brecth>
 +                                <rotate>0.0</rotate>
 +                                <drawSt>y</drawSt>
 +                                <stWidth>0.5</stWidth>
 +                                <stColor>0.13725491,0.12156863,0.1254902,1.0</stColor>
 +                                <drawFl>n</drawFl>
 +                                <flColor>1.0,1.0,1.0,1.0</flColor>
 +                                <lnStyle>0</lnStyle>
 +                                <lock>n</lock>
 +                                <path>
 +                                    <e>
 +                                        <t>mv</t>
 +                                        <x>353.0544</x>
 +                                        <y>355.66608</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>354.1274</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>350.5011</x>
 +                                        <y>354.1274</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>350.5011</x>
 +                                        <y>342.61172</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>342.60477</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>354.1274</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>341.08002</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>348.36194</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.8275</x>
 +                                        <y>348.36194</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>350.4941</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>350.4941</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>352.20792</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.8275</x>
 +                                        <y>352.20792</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.8275</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>346.3479</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>346.3479</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.8275</x>
 +                                        <y>344.45062</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>344.45062</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>357.57452</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>357.57452</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>359.22717</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>359.22717</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>360.8812</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>360.8812</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.49493</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.48798</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>364.05722</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>364.05722</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>365.70987</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>365.70987</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.31665</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.31665</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.8275</x>
 +                                        <y>353.92865</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>352.20792</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>350.4941</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>348.36194</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>346.3479</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>344.45062</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.83447</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.31665</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>365.70987</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>364.05026</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.48798</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>360.8812</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>359.22717</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>357.56757</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>342.7396</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.91492</x>
 +                                        <y>348.36194</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>348.36194</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>341.0258</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>335.89413</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>355.65634</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.85052</x>
 +                                        <y>355.65634</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>355.65634</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.74487</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.79617</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.79062</x>
 +                                        <y>362.17657</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.75183</x>
 +                                        <y>362.17657</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.75183</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.7075</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.85052</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.85052</x>
 +                                        <y>341.0258</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91696</x>
 +                                        <y>341.0258</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.75183</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.79062</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.79062</x>
 +                                        <y>335.18246</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>363.21075</x>
 +                                        <y>333.24628</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>363.21075</x>
 +                                        <y>331.88275</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.75183</x>
 +                                        <y>333.95236</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.75183</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.7075</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.7075</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.7075</x>
 +                                        <y>358.07626</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>373.5311</x>
 +                                        <y>358.0679</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>373.55054</x>
 +                                        <y>338.61285</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>373.5311</x>
 +                                        <y>363.36636</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>373.5311</x>
 +                                        <y>358.0679</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>375.4075</x>
 +                                        <y>358.0846</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>375.4075</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>375.4075</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>377.26447</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>377.26447</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>375.4075</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>401.34387</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>399.46884</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>399.46188</x>
 +                                        <y>362.2169</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>401.34387</x>
 +                                        <y>362.2169</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>401.34387</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>406.90784</x>
 +                                        <y>360.82</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>406.90784</x>
 +                                        <y>336.87125</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>409.32214</x>
 +                                        <y>336.87125</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>409.32214</x>
 +                                        <y>359.7984</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>406.90784</x>
 +                                        <y>359.7984</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>409.32214</x>
 +                                        <y>359.7984</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>409.32214</x>
 +                                        <y>336.87125</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>406.90784</x>
 +                                        <y>336.87125</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>406.90784</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>395.83273</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>395.83273</x>
 +                                        <y>334.1428</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>394.0286</x>
 +                                        <y>334.13446</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>394.0286</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>395.8397</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>375.4075</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>375.4075</x>
 +                                        <y>338.63928</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>373.5311</x>
 +                                        <y>338.63928</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>373.5311</x>
 +                                        <y>333.27826</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>373.5311</x>
 +                                        <y>338.63928</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.7075</x>
 +                                        <y>338.63928</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.7075</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.85052</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.85052</x>
 +                                        <y>341.0258</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>341.0258</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.91</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>335.88858</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>341.07446</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>349.16953</x>
 +                                        <y>341.07446</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>349.16953</x>
 +                                        <y>355.66608</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>353.0544</x>
 +                                        <y>355.66608</y>
 +                                    </e>
 +                                </path>
 +                            </shape>
 +                        </shapes>
 +                    </shape>
 +                </group>
 +            </symbol>
 +        </custom>
 +    </kentry>
 +    <kentry>
 +        <kind>zers</kind>
 +        <name>713sx2</name>
 +        <id>rj713sx2</id>
 +        <lamp>CP92</lamp>
 +        <wt>22</wt>
 +        <sid>c24bcd83-1a40-4e48-87e2-56dfb7fba6ec</sid>
 +        <frame>8.46&quot;</frame>
 +        <cd>52000</cd>
 +        <fname>RJ 713sx2</fname>
 +        <watts>2000</watts>
 +        <note>2kw = cp92 52000lm / 2500w = cp91 65000lm</note>
 +        <abm_w>50</abm_w><![CDATA[ beam wide ]]>
 +        <abm_t>29</abm_t><![CDATA[ beam tight ]]>
 +        <bm_w>50</bm_w><![CDATA[ field wide ]]>
 +        <bm_t>29</bm_t><![CDATA[ field tight ]]>
 +        <custom>
 +            <symbol>
 +                <id>c24bcd83-1a40-4e48-87e2-56dfb7fba6ec</id>
 +                <group>
 +                    <shape>
 +                        <class>LXGroup</class>
 +                        <shapes>
 +                            <shape>
 +                                <class>LXPathShape</class>
 +                                <brectx>0.0</brectx>
 +                                <brecty>452.0</brecty>
 +                                <brectw>0.0</brectw>
 +                                <brecth>0.0</brecth>
 +                                <rotate>0.0</rotate>
 +                                <drawSt>y</drawSt>
 +                                <stWidth>1.0</stWidth>
 +                                <stColor>0.13725491,0.12156863,0.1254902,1.0</stColor>
 +                                <drawFl>n</drawFl>
 +                                <flColor>1.0,1.0,1.0,1.0</flColor>
 +                                <lnStyle>0</lnStyle>
 +                                <lock>n</lock>
 +                                <path>
 +                                    <e>
 +                                        <t>mv</t>
 +                                        <x>352.79733</x>
 +                                        <y>356.30347</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>354.7648</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>350.301</x>
 +                                        <y>354.7648</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>350.301</x>
 +                                        <y>343.23938</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>343.23105</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>354.7648</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>341.7035</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>348.99374</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.22153</x>
 +                                        <y>348.99374</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>351.12732</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>351.12732</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>352.8439</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.22153</x>
 +                                        <y>352.8439</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.22153</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>346.97693</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>346.97693</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.22153</x>
 +                                        <y>345.07965</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>345.07965</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>357.21735</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>357.21735</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>358.83524</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>358.83524</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>360.45316</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>360.45316</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.03073</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.02377</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>363.5569</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>363.5569</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>365.17477</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>365.17477</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>366.74683</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>366.74683</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.22153</x>
 +                                        <y>354.56604</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>352.8439</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>351.12732</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>348.99374</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>346.97693</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>345.07965</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>368.2299</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>366.74683</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>365.17477</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>363.55133</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.02377</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>360.45316</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>358.83524</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>357.2118</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>343.36307</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>355.59528</x>
 +                                        <y>348.99374</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>348.99374</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>341.65067</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>336.51343</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>356.2965</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.2223</x>
 +                                        <y>356.2965</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>356.2965</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.12085</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.2152</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.20828</x>
 +                                        <y>362.8223</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.12778</x>
 +                                        <y>362.8223</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.12778</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.03897</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.2223</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.2223</x>
 +                                        <y>341.65067</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.62094</x>
 +                                        <y>341.65067</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.12778</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.20828</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>367.20828</x>
 +                                        <y>335.799</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.72986</x>
 +                                        <y>333.86142</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>362.72986</x>
 +                                        <y>332.4965</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.12778</x>
 +                                        <y>334.5689</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.12778</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.03897</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.03897</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.03897</x>
 +                                        <y>358.7178</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>372.82227</x>
 +                                        <y>358.70944</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>372.8417</x>
 +                                        <y>339.23773</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>372.82227</x>
 +                                        <y>364.0121</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>372.82227</x>
 +                                        <y>358.70944</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>374.6584</x>
 +                                        <y>358.72614</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>374.6584</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>374.6584</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>376.47363</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>376.47363</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>374.6584</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>391.29462</x>
 +                                        <y>361.46573</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>391.29462</x>
 +                                        <y>337.4586</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>393.58664</x>
 +                                        <y>337.4586</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>393.58664</x>
 +                                        <y>360.41632</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>391.29462</x>
 +                                        <y>360.41632</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>393.58664</x>
 +                                        <y>360.41632</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>393.58664</x>
 +                                        <y>337.4586</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>391.29462</x>
 +                                        <y>337.4586</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>391.29462</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>382.645</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>382.645</x>
 +                                        <y>334.74405</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>380.74078</x>
 +                                        <y>334.74405</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>380.74078</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>382.645</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>374.6584</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>374.6584</x>
 +                                        <y>339.25998</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>372.82227</x>
 +                                        <y>339.25998</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>372.82227</x>
 +                                        <y>333.89478</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>372.82227</x>
 +                                        <y>339.25998</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.03897</x>
 +                                        <y>339.25998</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>371.03897</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.2223</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>369.2223</x>
 +                                        <y>341.65067</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>341.65067</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>354.61398</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>336.50647</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>341.69653</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>349.0</x>
 +                                        <y>341.69653</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>349.0</x>
 +                                        <y>356.30347</y>
 +                                    </e>
 +                                    <e>
 +                                        <t>ln</t>
 +                                        <x>352.79733</x>
 +                                        <y>356.30347</y>
 +                                    </e>
 +                                </path>
 +                            </shape>
 +                        </shapes>
 +                    </shape>
 +                </group>
 +            </symbol>
 +        </custom>
 +    </kentry>
 +    <filevers>4.2</filevers>
 +</key>
 +</code>
 +
 +==== Lib maker ====
 +made with claude.ai. create symbol with lxplan or import dxf then keep only one layer and then embed the symbol inside a group and then run the python script.
 +<code python>
 +import tkinter as tk
 +from tkinter import filedialog, messagebox, ttk
 +import xml.etree.ElementTree as ET
 +import os
 +
 +class XMLExtractorApp:
 +    def __init__(self, root):
 +        self.root = root
 +        self.root.title("XML Shape to Symbol Extractor")
 +        self.root.geometry("600x600")
 +        self.root.resizable(False, False)
 +        
 +        self.input_file = None
 +        self.tree = None
 +        
 +        self.create_widgets()
 +    
 +    def create_widgets(self):
 +        # Title
 +        title = tk.Label(self.root, text="XML Shape to Symbol Extractor", 
 +                        font=("Arial", 16, "bold"))
 +        title.pack(pady=10)
 +        
 +        # Info label
 +        info = tk.Label(self.root, text="Extracts from: /layers/layer/shape\nWrites to: /key/kentry/custom/symbol/group/shape", 
 +                       font=("Arial", 9), fg="gray", justify=tk.CENTER)
 +        info.pack()
 +        
 +        # Input file frame
 +        input_frame = tk.Frame(self.root)
 +        input_frame.pack(pady=10, padx=20, fill=tk.X)
 +        
 +        tk.Label(input_frame, text="Input LXXPLOT File:", 
 +                font=("Arial", 10)).pack(anchor=tk.W)
 +        
 +        file_display_frame = tk.Frame(input_frame)
 +        file_display_frame.pack(fill=tk.X, pady=5)
 +        
 +        self.file_label = tk.Label(file_display_frame, text="No file selected", 
 +                                   fg="gray", anchor=tk.W)
 +        self.file_label.pack(side=tk.LEFT, fill=tk.X, expand=True)
 +        
 +        browse_btn = tk.Button(file_display_frame, text="Browse", 
 +                              command=self.browse_file)
 +        browse_btn.pack(side=tk.RIGHT)
 +        
 +        # Output file frame
 +        output_frame = tk.Frame(self.root)
 +        output_frame.pack(pady=10, padx=20, fill=tk.X)
 +        
 +        tk.Label(output_frame, text="Output LXKEY File:", 
 +                font=("Arial", 10)).pack(anchor=tk.W)
 +        
 +        self.output_entry = tk.Entry(output_frame, font=("Arial", 10))
 +        self.output_entry.pack(fill=tk.X, pady=5)
 +        self.output_entry.insert(0, "symbol_output.lxkey")
 +        
 +        # Additional fields frame
 +        fields_frame = tk.Frame(self.root)
 +        fields_frame.pack(pady=10, padx=20, fill=tk.X)
 +        
 +        tk.Label(fields_frame, text="Additional Tag Values:", 
 +                font=("Arial", 10, "bold")).pack(anchor=tk.W, pady=(0, 5))
 +        
 +        # Name field (displayed as "Type")
 +        name_frame = tk.Frame(fields_frame)
 +        name_frame.pack(fill=tk.X, pady=2)
 +        tk.Label(name_frame, text="Type:", width=10, anchor=tk.W).pack(side=tk.LEFT)
 +        self.name_entry = tk.Entry(name_frame, font=("Arial", 10))
 +        self.name_entry.pack(side=tk.LEFT, fill=tk.X, expand=True)
 +        
 +        # ID field
 +        id_frame = tk.Frame(fields_frame)
 +        id_frame.pack(fill=tk.X, pady=2)
 +        tk.Label(id_frame, text="ID:", width=10, anchor=tk.W).pack(side=tk.LEFT)
 +        self.id_entry = tk.Entry(id_frame, font=("Arial", 10))
 +        self.id_entry.pack(side=tk.LEFT, fill=tk.X, expand=True)
 +        
 +        # Fname field
 +        fname_frame = tk.Frame(fields_frame)
 +        fname_frame.pack(fill=tk.X, pady=2)
 +        tk.Label(fname_frame, text="Fname:", width=10, anchor=tk.W).pack(side=tk.LEFT)
 +        self.fname_entry = tk.Entry(fname_frame, font=("Arial", 10))
 +        self.fname_entry.pack(side=tk.LEFT, fill=tk.X, expand=True)
 +        
 +        # Kind field (dropdown)
 +        kind_frame = tk.Frame(fields_frame)
 +        kind_frame.pack(fill=tk.X, pady=2)
 +        tk.Label(kind_frame, text="Kind:", width=10, anchor=tk.W).pack(side=tk.LEFT)
 +        
 +        # Dictionary mapping display names to values
 +        self.kind_options = {
 +            "eko / ERS": "ers",
 +            "Zoom Leko / ERS": "zers",
 +            "Fresnel / PC": "fres",
 +            "PAR": "par",
 +            "Flood": "fl",
 +            "Striplight": "strip",
 +            "DMX Device": "scroll",
 +            "Mirror": "mirror",
 +            "Focus Point": "focus",
 +            "Other": "misc",
 +            "Automated Fixture": "mover",
 +            "Color Mixing Automated Fixture": "cmymvr",
 +            "Color Mixing Rectangular Beam (obsolete rgb)": "rgb",
 +            "Color Mixing Rectangular Beam (obsolete rgba)": "rgba",
 +            "Color Mixing Rectangular Beam": "led7",
 +            "Color Mixing Striplight": "led7s",
 +            "Color Mixing Leko / ERS": "cmers",
 +            "Color Mixing Zoom ERS": "cmzers",
 +            "Color Mixing DMX Device": "cmscroll",
 +            "Network Device": "netnode"
 +        }
 +        
 +        self.kind_var = tk.StringVar()
 +        self.kind_dropdown = ttk.Combobox(kind_frame, textvariable=self.kind_var, 
 +                                          values=list(self.kind_options.keys()), 
 +                                          state="readonly", 
 +                                          font=("Arial", 10))
 +        self.kind_dropdown.pack(side=tk.LEFT, fill=tk.X, expand=True)
 +        self.kind_dropdown.current(0)  # Set default to first option
 +        
 +        # Extract button
 +        extract_btn = tk.Button(self.root, text="Extract and Convert", 
 +                               command=self.extract_and_convert,
 +                               font=("Arial", 12, "bold"),
 +                               bg="#4CAF50", fg="white",
 +                               padx=20, pady=10)
 +        extract_btn.pack(pady=20)
 +        
 +        # Status label
 +        self.status_label = tk.Label(self.root, text="", 
 +                                     font=("Arial", 9), fg="blue")
 +        self.status_label.pack(pady=5)
 +    
 +    def browse_file(self):
 +        filename = filedialog.askopenfilename(
 +            title="Select LXXPLOT File",
 +            filetypes=[("LXXPLOT files", "*.lxxplot"), ("All files", "*.*")]
 +        )
 +        if filename:
 +            self.input_file = filename
 +            self.file_label.config(text=os.path.basename(filename), fg="black")
 +            self.status_label.config(text="File loaded successfully", fg="green")
 +    
 +    def extract_and_convert(self):
 +        # Validate inputs
 +        if not self.input_file:
 +            messagebox.showerror("Error", "Please select an input LXXPLOT file")
 +            return
 +        
 +        output_filename = self.output_entry.get().strip()
 +        if not output_filename:
 +            messagebox.showerror("Error", "Please enter an output file name")
 +            return
 +        
 +        # Get the directory of the input file and create full output path
 +        input_dir = os.path.dirname(self.input_file)
 +        output_file = os.path.join(input_dir, output_filename)
 +        
 +        try:
 +            # Parse the LXXPLOT file (XML format)
 +            tree = ET.parse(self.input_file)
 +            root = tree.getroot()
 +            
 +            # Find the shape tag using the xpath: /layers/layer/shape
 +            shape_element = root.find("./layers/layer/shape")
 +            
 +            if shape_element is None:
 +                messagebox.showerror("Error", 
 +                    "Path '/layers/layer/shape' not found in the LXXPLOT file")
 +                return
 +            
 +            # Create the new XML structure: /key/kentry/custom/symbol/group/shape
 +            new_root = ET.Element("key")
 +            kentry = ET.SubElement(new_root, "kentry")
 +            
 +            # Add name, kind, and fname as siblings of custom with user-provided values
 +            name = ET.SubElement(kentry, "name")
 +            name.text = self.name_entry.get().strip()
 +            
 +            id_elem = ET.SubElement(kentry, "id")
 +            id_elem.text = self.id_entry.get().strip()
 +            
 +            kind = ET.SubElement(kentry, "kind")
 +            # Get the value corresponding to the selected display name
 +            selected_display = self.kind_var.get()
 +            kind.text = self.kind_options.get(selected_display, "")
 +            
 +            fname = ET.SubElement(kentry, "fname")
 +            fname.text = self.fname_entry.get().strip()
 +            
 +            custom = ET.SubElement(kentry, "custom")
 +            
 +            symbol = ET.SubElement(custom, "symbol")
 +            group = ET.SubElement(symbol, "group")
 +            shape = ET.SubElement(group, "shape")
 +            
 +            # Copy the content from shape element to the new shape element
 +            shape.text = shape_element.text
 +            shape.attrib = shape_element.attrib
 +            
 +            # Copy all child elements from original shape to new shape
 +            for child in shape_element:
 +                shape.append(child)
 +            
 +            # Create and write the new LXKEY file
 +            new_tree = ET.ElementTree(new_root)
 +            ET.indent(new_tree, space="  ")
 +            new_tree.write(output_file, encoding="utf-8", xml_declaration=True)
 +            
 +            self.status_label.config(
 +                text=f"Successfully converted and saved to {output_filename}", 
 +                fg="green"
 +            )
 +            messagebox.showinfo("Success", 
 +                f"Shape content extracted and written to /key/kentry/custom/symbol/group/shape\nSaved to: {output_file}")
 +            
 +        except ET.ParseError as e:
 +            messagebox.showerror("Parse Error", 
 +                f"Failed to parse XML file:\n{str(e)}")
 +            self.status_label.config(text="Parse error", fg="red")
 +        except Exception as e:
 +            messagebox.showerror("Error", f"An error occurred:\n{str(e)}")
 +            self.status_label.config(text="Error occurred", fg="red")
 +
 +if __name__ == "__main__":
 +    root = tk.Tk()
 +    app = XMLExtractorApp(root)
 +    root.mainloop()
 +</code>
 +
 +==== js version ====
 +<code javascript>
 +<!DOCTYPE html>
 +<html lang="fr">
 +
 +<head>
 +    <meta charset="UTF-8">
 +    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 +    <title>Lxplan lib builder</title>
 +    <style>
 +        body {
 +            font-family: Arial, sans-serif;
 +            margin: 20px;
 +            line-height: 1.6;
 +        }
 +
 +        textarea {
 +            width: 100%;
 +            height: 200px;
 +            margin: 10px 0;
 +        }
 +
 +        button {
 +            padding: 8px 16px;
 +            background-color: #007BFF;
 +            color: white;
 +            border: none;
 +            border-radius: 4px;
 +            cursor: pointer;
 +        }
 +
 +        button:hover {
 +            background-color: #0056b3;
 +        }
 +
 +        .test-result>span {
 +            font-weight: bold;
 +            padding: 5px;
 +        }
 +
 +        .valid {
 +            color: white;
 +            background-color: green;
 +        }
 +
 +        .invalid {
 +            color: white;
 +            background-color: red;
 +        }
 +
 +        .no-answer {
 +            color: black;
 +            background-color: white;
 +        }
 +
 +        .container {
 +            border: 1px solid black;
 +            border-radius: 5px;
 +            margin: 5px;
 +            padding: 10px;
 +        }
 +    </style>
 +</head>
 +
 +<body>
 +    <h1>Lxplan lib builder</h1>
 +    <div class="container">
 +        <details>
 +            <summary>Cliquer içi pour lire la doc</summary>
 +            <p>Pour créer une librairie, il faut : <br />
 +            <ul>
 +                <li>Dessiner le symbole dans lxplan</li>
 +                <li>Le symbole doit etre sur le premier layer</li>
 +                <li>Une fois fini, le symbole doit etre dans un groupe</li>
 +                <li>Enregistrer le projet dans un fichier .lxxplot</li>
 +                <li>Utiliser ce script en important le fichier lxxplot puis en remplissant les champs obligatoires et
 +                    les autres si besoin</li>
 +                <li>Sauvegarder le fichier qui va donner un fichier .lxkey qui sera à mettre dans le dossier de la
 +                    bibliotheque (voir l'onglet "library" dans les options de lxplan)</li>
 +            </ul>
 +            </p>
 +        </details>
 +    </div>
 +    <div class="container">
 +        <h2>Charger le fichier lxxplot</h2>
 +        <p>Sélectionnez un fichier llxplot sur votre appareil :</p>
 +        <input type="file" id="fileInput" accept=".lxxplot" onclick="resetChecks()" />
 +    </div>
 +    <div class="container">
 +        <h2>Tester le fichier lxxplot</h2>
 +        <div>Le fichier est il un lxxplot ? : <span id="isLxxplot" class="test-result">...</span></div>
 +        <div>Le fichier possede t il une shape sur le premier layer ? :<span id="hasShape"
 +                class="test-result">...</span></div>
 +        <div>La shape, commence t elle par un groupe ? :<span id="hasGroup" class="test-result">...</span></div>
 +        <button onclick="loadFile()">Tester le fichier</button>
 +    </div>
 +    <div id="dataFields" class="container" hidden>
 +        <h2>Données de la librairie</h2>
 +        <div class="form-section">
 +            <div id="mandatoryFields">
 +                <h3>Champs obligatoires</h3>
 +                <div>
 +                    <label for="name">Type</label>
 +                    <input type="text" id="name" name="name" required />
 +                </div>
 +                <div>
 +                    <label for="fname">Full Name</label>
 +                    <input type="text" id="fname" name="fname" required />
 +                </div>
 +                <div>
 +                    <label for="id">Id</label>
 +                    <input type="text" id="id" name="id" required />
 +                </div>
 +                <div>
 +                    <label for="dataType">Type d'appareil</label>
 +                    <select id="dataType">
 +                        <option value="">Sélectionner un type d'appareil</option>
 +                    </select>
 +                </div>
 +            </div>
 +            <div id="optionalFields">
 +                <h3>Champs optionnels</h3>
 +                <details>
 +                    <summary>
 +                        Cliquer içi pour editer les champs optionnels
 +                    </summary>
 +                    <div id="dynamicFields">Selectionner d'abord un type d'appareil</div>
 +                </details>
 +            </div>
 +            <button id="saveButton" onclick="buildOutput()">Créer la librairie</button>
 +        </div>
 +    </div>
 +
 +    <script>
 +        // declaration des variables
 +        var xmlInputContent = "";
 +        var xmlOutputContent = "";
 +        var shape = "";
 +        var isLxxplot = false;
 +        var hasShape = false;
 +        var hasGroup = false;
 +        var filledOptionalFields = undefined;
 +        var filledFields = [];
 +        var isLxxplotDiv = document.getElementById("isLxxplot");
 +        var hasShapeDiv = document.getElementById("hasShape");
 +        var hasGroupDiv = document.getElementById("hasGroup");
 +        var dataFields = document.getElementById("dataFields");
 +        var dataTypeSelect = document.getElementById('dataType');
 +        var dynamicFields = document.getElementById('dynamicFields');
 +
 +        // Tableau des options de la liste de sélection
 +        const selectOptions = [
 +            { id: "ers", label: "ERS", fields: "sid;have;lamp;watts;frame;beam;cd;abm;wt;note;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "zers", label: "Zoom Leko / ERS", fields: "sid;have;lamp;watts;frame;bm_w;bm_t;cd_w;cd_t;abm_w;abm_t;wt;note;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "fres", label: "Fresnel / PC", fields: "sid;have;lamp;watts;frame;bm_w;bm_t;cd_w;cd_t;abm_w;abm_t;wt;note;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "par", label: "PAR", fields: "sid;have;lamp;watts;frame;bm_x;bm_y;cd;abm_x;abm_y;wt;note;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "fl", label: "Flood", fields: "sid;have;lamp;watts;frame;beam;cd;abm;wt;note;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "strip", label: "Striplight", fields: "sid;have;lamp;watts;frame;bm_x;bm_y;cd;abm_x;abm_y;wt;cpf;lpc;dbl;note;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "scroll", label: "DMX Device", fields: "sid;have;note;scroll;dmode;d_mk;acc_loc" },
 +            { id: "mirror", label: "Mirror", fields: "sid;have;note;scroll;dmode;d_mk;acc_loc" },
 +            { id: "focus", label: "Focus Point", fields: "sid" },
 +            { id: "misc", label: "Other", fields: "sid;have;acc_loc" },
 +            { id: "mover", label: "Automated Fixture", fields: "sid;have;lamp;watts;frame;bm_w;bm_t;cd_w;cd_t;abm_w;abm_t;wt;note;scroll;dmode;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "cmymvr", label: "Color Mixing Automated Fixture", fields: "sid;have;lamp;watts;frame;bm_w;bm_t;cd_w;cd_t;abm_w;abm_t;wt;note;scroll;dmode;mixtype;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "rgb", label: "Color Mixing Rectangular Beam (obsolete rgb)", fields: "sid;have;lamp;watts;frame;bm_x;bm_y;cd;abm_x;abm_y;wt;note;scroll;dmode;mixtype;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "rgba", label: "Color Mixing Rectangular Beam (obsolete rgba)", fields: "sid;have;lamp;watts;frame;bm_x;bm_y;cd;abm_x;abm_y;wt;note;scroll;dmode;mixtype;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "led7", label: "Color Mixing Rectangular Beam", fields: "sid;have;lamp;watts;frame;bm_x;bm_y;cd;abm_x;abm_y;wt;note;scroll;dmode;mixtype;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "led7s", label: "Color Mixing Striplight", fields: "sid;have;lamp;watts;frame;bm_x;bm_y;cd;abm_x;abm_y;wt;cpf;lpc;dbl;note;scroll;dmode;mixtype;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "cmers", label: "Color Mixing Leko / ERS", fields: "sid;have;lamp;watts;frame;beam;cd;abm;wt;note;scroll;dmode;mixtype;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "cmzers", label: "Color Mixing Zoom ERS", fields: "sid;have;lamp;watts;frame;bm_w;bm_t;cd_w;cd_t;abm_w;abm_t;wt;note;scroll;dmode;mixtype;d_mk;d_adj_x;d_adj_y;d_adj_z" },
 +            { id: "cmscroll", label: "Color Mixing DMX Device", fields: "sid;have;note;scroll;dmode;mixtype;d_mk" },
 +            { id: "netnode", label: "Network Device", fields: "sid;have;note;dmode" },
 +        ];
 +
 +        // Tableau des champs disponibles
 +        const availableFields = [
 +            { id: "name", label: "Type", type: "text" },
 +            { id: "fname", label: "Full Name", type: "text" },
 +            { id: "id", label: "ID", type: "text" },
 +            { id: "sid", label: "Symbol ID", type: "text" },
 +            { id: "have", label: "Inventory", type: "number" },
 +            { id: "balance", label: "Balance", type: "number" },
 +            { id: "lamp", label: "Lamp", type: "text" },
 +            { id: "watts", label: "Watts", type: "number" },
 +            { id: "frame", label: "Color Frame", type: "text" },
 +            { id: "beam", label: "Field Angle", type: "number" },
 +            { id: "bm_x", label: "Field X", type: "number" },
 +            { id: "bm_y", label: "Field Y", type: "number" },
 +            { id: "bm_w", label: "Field Wide", type: "number" },
 +            { id: "bm_t", label: "Field Tight", type: "number" },
 +            { id: "cd", label: "Candela", type: "number" },
 +            { id: "cd_w", label: "Candela Wide", type: "number" },
 +            { id: "cd_t", label: "Candela Tight", type: "number" },
 +            { id: "abm", label: "Beam Angle", type: "number" },
 +            { id: "abm_x", label: "Beam X", type: "number" },
 +            { id: "abm_y", label: "Beam Y", type: "number" },
 +            { id: "abm_w", label: "Beam Wide", type: "number" },
 +            { id: "abm_t", label: "Beam Tight", type: "number" },
 +            { id: "wt", label: "Weight", type: "number" },
 +            { id: "cpf", label: "Sections Per Fixture", type: "number" },
 +            { id: "lpc", label: "Lamps Per Circuit", type: "number" },
 +            { id: "dbl", label: "Distance Between Lamps", type: "number" },
 +            { id: "note", label: "More Info", type: "text" },
 +            { id: "scroll", label: "Device Params", type: "text" },
 +            { id: "dmode", label: "Mode", type: "text" },
 +            { id: "mixtype", label: "Mix Type", type: "text" },
 +            { id: "d_mk", label: "Default Mark", type: "text" },
 +            { id: "acc_loc", label: "Placement", type: "text" },
 +            { id: "d_adj_x", label: "Default X Offset", type: "number" },
 +            { id: "d_adj_y", label: "Default Y Offset", type: "number" },
 +            { id: "d_adj_z", label: "Default Z Offset", type: "number" },
 +        ];
 +
 +        // reinitialise les resultats du test de fichier
 +        function resetChecks() {
 +            let content = '<span class="no-answer">Sans avis</span>';
 +            isLxxplotDiv.innerHTML = content;
 +            hasShapeDiv.innerHTML = content;
 +            hasGroupDiv.innerHTML = content;
 +            dataFields.hidden = true;
 +        }
 +
 +        // action quand le document est bien chargé
 +        document.addEventListener('DOMContentLoaded', () => {
 +            resetChecks();
 +            fillSelectOptions();
 +        });
 +
 +        // Remplit la liste déroulante de type d'appareil
 +        function fillSelectOptions() {
 +            dataTypeSelect.innerHTML = '<option value="">Sélectionner un type d\'appareil</option>';
 +            selectOptions.forEach((option) => {
 +                const optElement = document.createElement("option");
 +                optElement.value = option.id;
 +                optElement.textContent = option.label;
 +                dataTypeSelect.appendChild(optElement);
 +            });
 +        }
 +
 +        // ecoute si le type d'appareil est changé
 +        dataTypeSelect.addEventListener("change", () => {
 +            const selectedOptionId = dataTypeSelect.value;
 +            displayDynamicFields(selectedOptionId);
 +        });
 +
 +        // Affiche les champs optionnels en fonction du type d'appareil sélectionné
 +        function displayDynamicFields(selectedOptionId) {
 +            dynamicFields.innerHTML = "";// Efface les champs précédents
 +
 +            // Trouve l'option sélectionnée
 +            const selectedOption = selectOptions.find((option) => option.id === selectedOptionId);
 +
 +            if (!selectedOption || !selectedOption.fields) return;
 +
 +            // Récupère les IDs des champs à afficher
 +            const fieldIds = selectedOption.fields.split(";");
 +
 +            // Affiche chaque champ
 +            fieldIds.forEach((fieldId) => {
 +
 +                const field = availableFields.find((f) => f.id === fieldId);
 +
 +                if (field) {
 +                    const fieldDiv = document.createElement("div");
 +                    fieldDiv.innerHTML = `
 +        <label for="${field.id}">${field.label}:</label>
 +        <input type="${field.type}" id="${field.id}" name="${field.id}" />
 +      `;
 +                    dynamicFields.appendChild(fieldDiv);
 +                }
 +            });
 +        }
 +
 +        // charge le fichier lxxplot
 +        function loadFile() {
 +            const fileInput = document.getElementById('fileInput');
 +            const file = fileInput.files[0];
 +            if (!file) {
 +                alert("Veuillez sélectionner un fichier lxxplot.");
 +                return;
 +            }
 +
 +            const reader = new FileReader();
 +            reader.onload = function (e) {
 +                xmlInputContent = e.target.result;
 +                dataFields.hidden = !runChecks();
 +            };
 +            reader.readAsText(file);
 +        }
 +
 +        // verifie le contenu du fichier lxxplot
 +        function runChecks() {
 +            isLxxplot = checkIfValidPath("/lxplot", 'isLxxplot');
 +            hasShape = checkIfValidPath("/lxplot/layers/layer/shape", 'hasShape');
 +            if (hasShape) {
 +                getShape();
 +            }
 +            hasGroup = checkIfValidPath("/lxplot/layers/layer/shape/class[text() = 'LXGroup']", 'hasGroup');
 +            return (isLxxplot && hasShape && hasGroup);
 +        }
 +
 +        // petit utilitaire pour tester le contenu du fichier lxxplot
 +        function checkIfValidPath(xpathQuery, resultDiv) {
 +            resultDiv = document.getElementById(resultDiv);
 +            let status = parseXml(xpathQuery).status;
 +            resultDiv.innerHTML = status ? '<span class="valid">oui</span>' : '<span class="invalid">non</span>';
 +            return status;
 +        }
 +
 +        // petit utilitaire permettant de tester le xml du fichier lxxplot
 +        function parseXml(xpathQuery) {
 +            try {
 +                // Parser le XML
 +                const parser = new DOMParser();
 +                const xmlDoc = parser.parseFromString(xmlInputContent, "text/xml");
 +
 +                // Exécuter la requête XPath
 +                const xpathResult = document.evaluate(
 +                    xpathQuery,
 +                    xmlDoc,
 +                    null,
 +                    XPathResult.ANY_TYPE,
 +                    null
 +                );
 +
 +                let result = [];
 +                let node = xpathResult.iterateNext();
 +                while (node) {
 +                    result.push(node.textContent);
 +                    node = xpathResult.iterateNext();
 +                }
 +
 +                // Afficher le résultat
 +                if (result.length > 0) {
 +                    return { "status": true, "data": result };
 +                } else {
 +                    return { "status": false, "data": "Not found" };
 +                }
 +            } catch (e) {
 +                console.error("error parsing xml", e.message);
 +                return { "status": false, "data": "Error : " + e.message };
 +            }
 +        }
 +
 +        // reuperer la shape depuis le fichier lxxplot
 +        function getShape() {
 +            try {
 +                // Parser le XML
 +                const parser = new DOMParser();
 +                const xmlDoc = parser.parseFromString(xmlInputContent, "text/xml");
 +
 +                // Exécuter la requête XPath
 +                const xpathResult = document.evaluate(
 +                    "/lxplot/layers/layer/shape",
 +                    xmlDoc,
 +                    null,
 +                    XPathResult.FIRST_ORDERED_NODE_TYPE,
 +                    null
 +                );
 +
 +                shape = xpathResult.singleNodeValue;
 +            } catch (e) {
 +                console.error("error parsing xml", e.message);
 +                return { "status": false, "data": "Error : " + e.message };
 +            }
 +        }
 +
 +        // action quand on appuie sur le bouton "creer la librairie"
 +        function buildOutput() {
 +            if (checkFilledFields()) {
 +                buildXmlOutput();
 +            }
 +        }
 +
 +        // verifier que les champs soient bien remplis
 +        function checkFilledFields() {
 +            filledFields = [];
 +            getFilledChildren('mandatoryFields');
 +            if (Object.keys(filledFields).length < 3 || dataTypeSelect.value === '') {
 +                alert("Les 4 champs obligatoires doivent être remplis.");
 +                return false;
 +            }
 +            getFilledChildren('dynamicFields');
 +            return true;
 +        }
 +
 +        function getFilledChildren(id) {
 +            // recupere les champs
 +            const divElement = document.getElementById(id);
 +            const inputNodes = divElement.getElementsByTagName('input');
 +
 +            // teste les champs un par un
 +            for (let i = 0; i < inputNodes.length; i++) {
 +                if (inputNodes[i].value.trim() !== '') {
 +                    filledFields.push({ "id": inputNodes[i].id, "value": inputNodes[i].value });
 +                }
 +            }
 +        }
 +
 +        // fabrique le fichier de sortie et l'envoie a l'utilisateur
 +        function buildXmlOutput() {
 +            // creation du document xml
 +            const xmlDoc = new DOMParser().parseFromString('<key></key>', 'application/xml');
 +            const root = xmlDoc.documentElement;
 +
 +            // creation des elements basiques
 +            const kentryElement = xmlDoc.createElement('kentry');
 +            const customElement = xmlDoc.createElement("custom");
 +            const symbolElement = xmlDoc.createElement("symbol");
 +            const groupElement = xmlDoc.createElement("group");
 +            const kindElement = xmlDoc.createElement("kind");
 +            kindElement.textContent = dataTypeSelect.value;
 +
 +            // ajout des elements basiques dans l'arbre xml
 +            groupElement.appendChild(shape);
 +            symbolElement.appendChild(groupElement);
 +            customElement.appendChild(symbolElement);
 +            kentryElement.appendChild(kindElement);
 +
 +            // ajout de chaque champ rempli
 +            filledFields.forEach((item) => {
 +                const newItem = xmlDoc.createElement(item.id);
 +                newItem.textContent = item.value;
 +                kentryElement.appendChild(newItem);
 +            });
 +
 +            kentryElement.appendChild(customElement);
 +            root.appendChild(kentryElement);
 +
 +            // conversion en chaine de characteres
 +            const xmlString = "<?xml version='1.0' encoding='utf-8'?>\n" + new XMLSerializer().serializeToString(xmlDoc);
 +            console.log(xmlString);
 +
 +            // creation fichier
 +            const blob = new Blob([xmlString], { type: 'application/xml;charset=utf-8' });
 +            const url = URL.createObjectURL(blob);
 +
 +            // envoi du fichier
 +            const a = document.createElement('a');
 +            a.href = url;
 +            a.download = 'mylib.lxkey';
 +            a.click();
 +
 +            // nettoyage
 +            URL.revokeObjectURL(url);
 +        }
 +    </script>
 +</body>
 +
 +</html>
 +</code>

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information