login
sign up
forgot your password?
Marble Game by exotiq

a cool marble goldberg(or something) you can edit the last obstacle(the big weighter or what they call it) have fun ;)

  Marble Game

#Mekanimo_version: 1.23
#author: 
#<|V|>#
#name: Version_1
#date: Mon Dec 21 12:59:22 2009
system.initialize(gravity=[0.00, -9.81], zeroGravity=False, boxOrigin=(0, 0), 
                    boxWidth=43.3125, boxHeight=27.75, boxActive=True)

circle(x=27.0507212784, y=17.614423158, radius=2.26820378157, 
       name='circle1', alias='c1', fillColor=(217, 178, 242, 150))

pin(body1=circle1, body2=ground, b1x=0, b1y=0, 
     name='pin1', alias='i1')

circle(x=33.3415866919, y=21.3889424062, radius=1.25817308271, 
       name='circle2', alias='c2', fillColor=(162, 158, 207, 150))

pin(body1=circle2, body2=ground, b1x=0, b1y=0, 
     name='pin2', alias='i2')

belt(body1=circle1, body2=circle2, 
     name='belt1', alias='bt1')



pin1.b2x = 27.0507212784

pin1.b2y = 17.614423158

pin2.b2x = 33.3415866919

pin2.b2y = 21.3889424062

motor(body1=circle2, body2=ground, b1x=0.0, b1y=0.0, 
      rpm=60, torqueLimit=10000, name='motor1', alias='m1')

moveGroup([circle1], [[27.050721278372137, 15.75554199059424]], [0])

moveGroup([circle1], [[26.431094222566962, 15.75554199059424]], [0])

circle1.radius = 3.32995588588

circle1.radius = 4.07808329351

rectangle(x=31.2911663182, y=15.800489923, width=3.09813527903, height=0.619627055805, 
          name='rectangle1', alias='r1', fillColor=(184, 124, 145, 150))

system.paste(elms=[rectangle1], offset=[5, 5])

system.paste(elms=[rectangle1], offset=[5, 5])

system.paste(elms=[rectangle1], offset=[5, 5])

rectangle4.pos = [26.37713342527849, 10.266829974343983]

rectangle4.angle = -1.46614243639

removeElement(rectangle4)

removeElement(rectangle3)

removeElement(rectangle2)

rectangle(x=26.3341498717, y=20.7575063695, width=0.619627055805, height=3.09813527903, 
          name='rectangle2', alias='r2', fillColor=(170, 186, 124, 150))

rectangle(x=21.3771334253, y=15.800489923, width=3.09813527903, height=0.619627055805, 
          name='rectangle3', alias='r3', fillColor=(182, 203, 250, 150))

rectangle(x=26.3341498717, y=10.8434734766, width=0.619627055805, height=3.09813527903, 
          name='rectangle4', alias='r4', fillColor=(230, 176, 122, 150))

weld(body1=rectangle4, body2=circle1, b1x=-0.0619627055805, b1y=1.36317952277, 
     name='weld1', alias='w1')

weld(body1=rectangle3, body2=circle1, b1x=1.36317952277, b1y=0.0619627055805, 
     name='weld2', alias='w2')

weld(body1=rectangle2, body2=circle1, b1x=-0.0619627055805, b1y=-1.17729140603, 
     name='weld3', alias='w3')

weld(body1=rectangle1, body2=circle1, b1x=-1.23925411161, b1y=-1.7763568394e-15, 
     name='weld4', alias='w4')

rectangle(x=11.2462310629, y=5.11192321039, width=13.3219816998, height=7.99318901989, 
          name='rectangle5', alias='r5', fillColor=(143, 140, 211, 150))

removeElement(rectangle5)

rectangle(x=11.4631005324, y=5.57664350225, width=13.0121681719, height=8.67477878127, 
          name='rectangle5', alias='r5', fillColor=(139, 171, 230, 150))

rectangle(x=8.05515172547, y=13.3219816998, width=3.71776233483, height=6.81589761386, 
          name='rectangle6', alias='r6', fillColor=(108, 158, 108, 150))

rectangle6.pos = [7.4355246696620947, 15.800489923031947]

rectangle5.resize(pos=[10.533659948687966, 6.8158976138569205], scaleX=1.14285714286, scaleY=1.28571428571)

rectangle(x=13.9416087556, y=17.0397440346, width=10.5336599487, height=1.85888116742, 
          name='rectangle7', alias='r7', fillColor=(189, 176, 105, 150))

system.box.resize(pos=[0, -6.9708043778082622], scaleX=1.00141746393, scaleY=1.25120015776)

system.box.resize(pos=[-1.5490676395129359, -7.7453381975646804], scaleX=1.03571428571, scaleY=1.02230748491)

rectangle5.pos = [10.533659948687966, 2.1686946953181128]

rectangle6.pos = [7.4355246696620947, 11.153287004493139]

rectangle7.pos = [15.490676395129363, 13.167074935859942]

rectangle6.pos = [8.9845923091750315, 12.702354644006075]

rectangle5.pos = [11.308193768444433, 3.7177623348310487]

weld(body1=rectangle7, body2=rectangle6, b1x=-4.64720291854, b1y=1.42108547152e-14, 
     name='weld5', alias='w5')

rectangle5.grounded = True

weld(body1=rectangle5, body2=ground, b1x=3.40794880693, b1y=1.70397440346, 
     name='weld6', alias='w6')

pin(body1=rectangle7, body2=ground, b1x=1.93633454939, b1y=0.0774533819757, 
     name='pin3', alias='i3')

# Destroy rectangle5 when rectangle5 separated from ANYTHING.
rectangle5.bind(DISCONNECT, system.evtHandler, ANYTHING, DESTROY)

moveGroup([rectangle5], [[11.308194160461426, 3.7177622318267822]], [0.0])

rectangle5.grounded = False

removeElement(weld6)

removeElement(rectangle5)

rectangle(x=11.6180072963, y=3.4854021889, width=15.4906763951, height=11.6180072963, 
          name='rectangle8', alias='r8', fillColor=(211, 100, 186, 150))

rectangle8.grounded = True

weld(body1=rectangle8, body2=ground, b1x=4.64720291854, b1y=-0.387266909878, 
     name='weld6', alias='w6')

moveGroup([rectangle8], [[11.618007659912109, 3.4854021072387695]], [0.0])

moveGroup([rectangle8], [[9.2944062006427046, 3.4854021072387695]], [0.0])

rectangle7.resize(pos=[16.342663596858461, 13.167074935859937], scaleX=1.16176470588, scaleY=1)

moveGroup([rectangle6, rectangle7], [[7.4355246696620956, 12.702354644006075], [14.793595957345525, 13.167074935859937]], [0, 0])

pin3.modify(b1x = 1.16180072963, b1y = 0.0774533819757)

system.box.active = False

spring(body1=rectangle8, body2=ground, b1x=4.70254887553, b1y=0.830325707915, 
       b2x=19.2458132297, b2y=7.23176012269, K=5, C=0.05, 
       name='spring1', alias='s1')

spring(body1=rectangle8, body2=ground, b1x=-5.7951674316, b1y=2.34666250783, 
       b2x=-1.16641292301, b2y=8.39817304571, K=5, C=0.05, 
       name='spring2', alias='s2')

rectangle8.grounded = False

removeElement(weld6)

spring(body1=rectangle8, body2=ground, b1x=-1.71272220105, b1y=1.06360829252, 
       b2x=1.86626067682, b2y=11.3142053532, K=5, C=0.05, 
       name='spring3', alias='s3')

spring(body1=rectangle8, body2=ground, b1x=2.2530817372, b1y=3.04651026164, 
       b2x=14.2302376608, b2y=10.4977163071, K=5, C=0.05, 
       name='spring4', alias='s4')

rectangle(x=8.57313498416, y=-4.66565169206, width=4.31572781515, height=2.33282584603, 
          name='rectangle9', alias='r9', fillColor=(234, 254, 123, 150))

vRail(body1=rectangle9, body2=ground, b1x=0.0, b1y=0.0, 
      name='vRail1', alias='vr1')

circle(x=11.8974118147, y=-7.8149665842, radius=2.29756700339, 
       name='circle3', alias='c3', fillColor=(201, 109, 234, 150))

circle3.pos = [13.996955076175517, -8.9813795072126226]

link(body1=rectangle9, body2=circle3, b1x=-0.174961938452, b1y=-0.349923876904, 
     b2x=-0.116641292301, b2y=-1.51633679992, name='link1', alias='l1')

pin(body1=circle3, body2=ground, b1x=0.0, b1y=0.0, 
     name='pin4', alias='i4')

rectangle(x=13.93863443, y=-13.530389907, width=1.74961938452, height=6.99847753809, 
          name='rectangle10', alias='r10', fillColor=(164, 247, 184, 150))

weld(body1=rectangle10, body2=circle3, b1x=-0.0583206461507, b1y=3.26595618444, 
     name='weld6', alias='w6')

rectangle(x=32.484599906, y=-13.4720692608, width=40.4745284286, height=1.28305421532, 
          name='rectangle11', alias='r11', fillColor=(107, 143, 118, 150))

system.noCollision([rectangle10, rectangle11])

rectangle11.grounded = True

weld(body1=rectangle11, body2=ground, b1x=-8.92305886106, b1y=-0.408244523055, 
     name='weld7', alias='w7')

circle(x=18.7792480605, y=-10.0311511379, radius=1.40454715304, 
       name='circle4', alias='c4', fillColor=(231, 253, 146, 150))

circle(x=21.3453564912, y=-8.63145563031, radius=1.36025952872, 
       name='circle5', alias='c5', fillColor=(147, 148, 145, 150))

removeElement(circle5)

polygon(points=[[40.824452305511926, 5.8320646150731319], 
                [40.824452305511926, -2.3328258460292526], 
                [54.821407381687443, -2.3328258460292526], 
                [54.821407381687443, 8.1648904611023845], 
                [50.155755689628933, 8.1648904611023845], 
                [50.155755689628933, -1.1664129230146263], 
                [45.490103997570429, -1.1664129230146263], 
                [45.490103997570429, 8.1648904611023845], 
                [40.824452305511926, 8.1648904611023845]], 
        name='polygon1', alias='p1', fillColor=(188, 185, 223, 150))

rectangle(x=47.8229298436, y=5.83206461507, width=4.66565169206, height=4.66565169206, 
          name='rectangle12', alias='r12', fillColor=(171, 235, 117, 150))

rectangle(x=47.8229298436, y=2.91603230754, width=2.33282584603, height=3.49923876904, 
          name='rectangle13', alias='r13', fillColor=(154, 119, 254, 150))

motor(body1=rectangle13, body2=ground, b1x=7.1054273576e-14, b1y=-1.28305421532, 
      rpm=60, torqueLimit=10000, name='motor2', alias='m2')

pin(body1=rectangle13, body2=rectangle12, b1x=7.1054273576e-14, b1y=1.39969550762, 
     name='pin5', alias='i5')

system.noCollision([rectangle12, rectangle13])

system.noCollision([polygon1, rectangle13])

hRail(body1=polygon1, body2=ground, b1x=5.83206461507, b1y=-3.25367815367, 
      name='hRail1', alias='hr1')

polygon1.resize(pos=[47.822929843599681, 2.0599807178390184], scaleX=1, scaleY=1.11111111111)

rectangle(x=48.4061363051, y=18.6626067682, width=1.16641292301, height=13.9969550762, 
          name='rectangle14', alias='r14', fillColor=(138, 174, 117, 150))

rectangle(x=50.7389621511, y=25.0778778448, width=5.83206461507, height=1.16641292301, 
          name='rectangle15', alias='r15', fillColor=(240, 167, 170, 150))

rectangle(x=53.0717879972, y=18.0794003067, width=1.16641292301, height=15.1633679992, 
          name='rectangle16', alias='r16', fillColor=(183, 180, 145, 150))

rectangle14.resize(pos=[48.406136305106962, 17.496193845219395], scaleX=1.0, scaleY=1.16666666667)

rectangle14.resize(pos=[48.406136305107154, 18.07940030672674], scaleX=1.0, scaleY=0.928571428571)

weld(body1=rectangle16, body2=rectangle15, b1x=-8.52651282912e-14, b1y=6.99847753809, 
     name='weld8', alias='w8')

weld(body1=rectangle15, body2=rectangle14, b1x=-2.44946713833, b1y=2.23820961764e-13, 
     name='weld9', alias='w9')

rectangle15.grounded = True

weld(body1=rectangle15, body2=ground, b1x=-7.1054273576e-15, b1y=1.42108547152e-14, 
     name='weld10', alias='w10')

circle(x=49.3392666435, y=11.6641292301, radius=1.42378842157, 
       name='circle5', alias='c5', fillColor=(154, 253, 180, 150))

circle5.pos = [50.855603443437715, 11.664129230146264]

circle5.radius = 1.78426867661

system.paste(elms=[circle5], offset=[5, 5])

system.paste(elms=[circle5], offset=[5, 5])

system.paste(elms=[circle5], offset=[5, 5])

circle8.pos = [50.840027874474821, 15.031151137925789]

circle7.pos = [50.840027874474821, 18.64703119927113]

circle6.pos = [50.723386582173362, 22.262911260616473]

moveGroup([rectangle16, rectangle14, rectangle15], [[53.071788744550645, 18.079400877469908], [48.406137052492213, 18.079400877469894], [50.738962898520889, 25.077878415557397]], [0.0, 0.0, 0.0])

moveGroup([rectangle14, rectangle15, rectangle16, circle5, circle6, circle7, circle8], [[47.123082837176121, 18.079400877469894], [49.455908683204797, 25.077878415557397], [51.788734529234553, 18.079400877469908], [49.572549228121623, 11.664129230146264], [49.44033236685727, 22.262911260616473], [49.556973659158729, 18.64703119927113], [49.556973659158729, 15.031151137925789]], [0.0, 0.0, 0.0, 0, 0, 0, 0])

motor2.rpm = -60.0

polygon1.angle = 0.0

rectangle14.resize(pos=[47.006441171182054, 17.904438653646107], scaleX=0.799999359245, scaleY=1.02307696072)

circle4.pos = [18.895889352836949, -9.7978685533228624]

removeElement(circle4)

removeElement(weld8)

removeElement(weld9)

rectangle15.grounded = False

removeElement(weld10)

removeElement(rectangle15)

rectangle16.grounded = True

weld(body1=rectangle16, body2=ground, b1x=-7.47385143995e-07, b1y=6.18198792123, 
     name='weld8', alias='w8')

rectangle14.grounded = True

weld(body1=rectangle14, body2=ground, b1x=-3.73692607525e-07, b1y=6.12366756046, 
     name='weld9', alias='w9')

rectangle(x=39.2497948594, y=26.185970407, width=16.4464222145, height=1.04977105997, 
          name='rectangle17', alias='r17', fillColor=(134, 114, 232, 150))

rectangle17.angle = -0.371692678976

rectangle17.pos = [39.599718736346532, 28.168872376174839]

rectangle17.grounded = True

weld(body1=rectangle17, body2=ground, b1x=-0.226559327403, b1y=0.0994692471192, 
     name='weld10', alias='w10')

system.paste(elms=[rectangle17], offset=[5, 5])

rectangle(x=51.847054428, y=27.6439862754, width=1.04977163071, height=5.59878203047, 
          name='rectangle19', alias='r19', fillColor=(142, 146, 105, 150))

rectangle18.grounded = True

weld(body1=rectangle18, body2=ground, b1x=7.53694656332, b1y=0.137931580198, 
     name='weld11', alias='w11')

rectangle18.grounded = True

weld(body1=rectangle18, body2=ground, b1x=3.87697376532, b1y=0.213511481981, 
     name='weld12', alias='w12')

weld11.modify(b1x = -0.0583206461514, b1y = 1.16641292301, body1 = rectangle19)

rectangle19.grounded = False

removeElement(weld11)

rectangle19.grounded = True

weld(body1=rectangle19, body2=ground, b1x=-2.0605739337e-13, b1y=7.1054273576e-15, 
     name='weld13', alias='w13')

rectangle(x=32.0868415188, y=34.5207137336, width=0.678875482094, height=7.70854286717, 
          name='rectangle20', alias='r20', fillColor=(202, 118, 134, 150))

rectangle(x=37.2112705955, y=42.3862131795, width=0.92773363566, height=13.4395417589, 
          name='rectangle21', alias='r21', fillColor=(131, 138, 240, 150))

rectangle(x=21.7536010142, y=38.0250612903, width=21.3453564912, height=0.699847753809, 
          name='rectangle22', alias='r22', fillColor=(248, 113, 221, 150))

rectangle(x=12.6555802147, y=54.2382009202, width=15.9798570453, height=0.933130338412, 
          name='rectangle23', alias='r23', fillColor=(131, 201, 145, 150))

rectangle23.angle = -0.249509758989

rectangle23.pos = [10.789319537885259, 54.004918335576924]

rectangle(x=11.4308466455, y=45.7233865822, width=0.699847753809, height=16.0964983376, 
          name='rectangle24', alias='r24', fillColor=(174, 141, 118, 150))

rectangle(x=30.4433772907, y=48.4644569513, width=12.363976984, height=0.583206461507, 
          name='rectangle25', alias='r25', fillColor=(230, 240, 224, 150))

rectangle(x=17.7294764298, y=43.6821639669, width=12.363976984, height=0.81648904611, 
          name='rectangle26', alias='r26', fillColor=(221, 208, 135, 150))

rectangle(x=34.7591051058, y=41.3493381209, width=4.66565169206, height=0.583206461507, 
          name='rectangle27', alias='r27', fillColor=(160, 161, 167, 150))

rectangle(x=37.2668928903, y=53.6549944587, width=0.81648904611, height=10.2644337225, 
          name='rectangle28', alias='r28', fillColor=(197, 176, 210, 150))

rectangle28.resize(pos=[37.266892890317237, 56.104461597003578], scaleX=1.0, scaleY=1.47727272727)

rectangle28.resize(pos=[37.325213536468297, 58.378966796882473], scaleX=0.857142857143, scaleY=1.3)

rectangle(x=24.2030681526, y=67.7685908272, width=26.9441385216, height=0.933130338413, 
          name='rectangle29', alias='r29', fillColor=(128, 153, 143, 150))

rectangle(x=3.62294845895, y=62.3397919968, width=1.15227612781, height=12.7238583376, 
          name='rectangle30', alias='r30', fillColor=(143, 253, 172, 150))

rectangle(x=7.40672206114, y=68.0018734118, width=8.51481433801, height=1.39969550762, 
          name='rectangle31', alias='r31', fillColor=(152, 239, 210, 150))

rectangle20.grounded = True

weld(body1=rectangle20, body2=ground, b1x=-0.0104861358574, b1y=-0.578097673871, 
     name='weld14', alias='w14')

rectangle21.grounded = True

weld(body1=rectangle21, body2=ground, b1x=0.113942940926, b1y=-3.54466284308, 
     name='weld15', alias='w15')

rectangle27.grounded = True

weld(body1=rectangle27, body2=ground, b1x=0.699847753809, b1y=0.0583206461508, 
     name='weld16', alias='w16')

rectangle26.grounded = True

weld(body1=rectangle26, body2=ground, b1x=1.98290196912, b1y=0.0583206461506, 
     name='weld17', alias='w17')

rectangle22.grounded = True

weld(body1=rectangle22, body2=ground, b1x=-2.15786390758, b1y=8.52651282912e-14, 
     name='weld18', alias='w18')

rectangle24.grounded = True

weld(body1=rectangle24, body2=ground, b1x=0.116641292301, b1y=1.74961938452, 
     name='weld19', alias='w19')

rectangle23.grounded = True

weld(body1=rectangle23, body2=ground, b1x=-1.72533162114, b1y=-0.0785425943232, 
     name='weld20', alias='w20')

rectangle30.grounded = True

weld(body1=rectangle30, body2=ground, b1x=-0.356992274507, b1y=-3.31929809223, 
     name='weld21', alias='w21')

rectangle31.grounded = True

weld(body1=rectangle31, body2=ground, b1x=-2.22044604925e-14, b1y=5.68434188608e-14, 
     name='weld22', alias='w22')

rectangle29.grounded = True

weld(body1=rectangle29, body2=ground, b1x=-7.75664593805, b1y=0.233282584603, 
     name='weld23', alias='w23')

rectangle28.grounded = True

weld(body1=rectangle28, body2=ground, b1x=0.116641292301, b1y=-2.74107036908, 
     name='weld24', alias='w24')

rectangle25.grounded = True

weld(body1=rectangle25, body2=ground, b1x=3.38259747674, b1y=0.0583206461501, 
     name='weld25', alias='w25')

rectangle(x=26.0693288294, y=62.5197326736, width=22.9783345834, height=0.933130338412, 
          name='rectangle32', alias='r32', fillColor=(212, 231, 159, 150))

rectangle32.angle = 0.22537807581

rectangle32.pos = [26.302611413979733, 61.469961042870466]

rectangle32.angle = 0.143957542082

rectangle(x=10.439395661, y=64.7942378735, width=1.04977163071, height=5.71542332277, 
          name='rectangle33', alias='r33', fillColor=(173, 140, 224, 150))

rectangle(x=14.5229422447, y=57.9630885642, width=0.818691752373, height=3.71725393435, 
          name='rectangle34', alias='r34', fillColor=(248, 251, 219, 150))

rectangle(x=13.530389907, y=56.3377441816, width=1.16641292301, height=0.466565169206, 
          name='rectangle35', alias='r35', fillColor=(211, 155, 224, 150))

removeElement(rectangle35)

rectangle34.resize(pos=[14.51134445396624, 58.403234279778452], scaleX=0.971667503184, scaleY=0.763187706112)

rectangle34.grounded = True

weld(body1=rectangle34, body2=ground, b1x=0.0475345023124, b1y=0.482678199741, 
     name='weld26', alias='w26')

rectangle32.grounded = True

weld(body1=rectangle32, body2=ground, b1x=-9.63495769718, b1y=0.049464957635, 
     name='weld27', alias='w27')

rectangle33.grounded = True

weld(body1=rectangle33, body2=ground, b1x=-0.133110214287, b1y=-0.104786016221, 
     name='weld28', alias='w28')

circle(x=20.1622962865, y=66.0903061898, radius=0.955831587323, 
       name='circle9', alias='c9', fillColor=(115, 126, 246, 150))

removeElement(circle9)

system.paste(elms=[circle6], offset=[5, 5])

circle9.pos = [17.562606378270935, 62.30592451345224]

system.paste(elms=[circle9], offset=[5, 5])

circle10.pos = [21.461778736820598, 63.269556494801002]

system.paste(elms=[circle9], offset=[5, 5])

circle11.pos = [24.947732934746668, 63.81997031552617]

system.paste(elms=[circle9], offset=[5, 5])

circle12.pos = [28.254576130558803, 64.398417024844719]

system.paste(elms=[circle9], offset=[5, 5])

circle13.pos = [32.103112604173866, 64.737326683401449]

system.paste(elms=[circle9], offset=[5, 5])

circle14.pos = [35.589066802099936, 65.104269230551566]

circle13.pos = [31.919641330598811, 64.737326683401449]

rectangle34.resize(pos=[14.60992593913652, 58.807583353757387], scaleX=0.75215094987, scaleY=0.714942250012)

circle10.pos = [20.91136491609543, 63.45302776837606]

rectangle23.resize(pos=[12.130607646843142, 53.717497102021838], scaleX=1.17155671027, scaleY=0.887085429841)

rectangle26.angle = -0.145307160265

rectangle25.angle = 0.190360591978

moveGroup([rectangle25], [[30.443376541137695, 48.464458465576172]], [0.19036059081554413])

rectangle27.grounded = False

removeElement(weld16)

removeElement(rectangle27)

rectangle22.angle = -0.061709765587

rectangle20.resize(pos=[31.947636051720089, 34.179390371636963], scaleX=1.41010603786, scaleY=0.911442832233)

circle9.pos = [16.740655072654683, 62.30592451345224]

rectangle(x=32.3876632939, y=41.4328665562, width=1.36164350185, height=1.16712300158, 
          name='rectangle35', alias='r35', fillColor=(201, 152, 252, 150))

rectangle35.grounded = True

weld(body1=rectangle35, body2=ground, b1x=-1.7763568394e-13, b1y=-2.84217094304e-14, 
     name='weld29', alias='w29')

moveGroup([rectangle35], [[32.387663293904524, 41.948182419259808]], [0])

system.paste(elms=[circle6], offset=[5, 5])

circle15.pos = [13.994110732316607, 40.344923599384813]

system.paste(elms=[circle6], offset=[5, 5])

circle16.pos = [17.474646125199932, 40.344923599384813]

system.paste(elms=[circle6], offset=[5, 5])

circle17.pos = [20.955181518083251, 40.104886675737689]

system.paste(elms=[circle6], offset=[5, 5])

circle18.pos = [24.555735372790135, 39.864849752090564]

circle6.pos = [28.197064624086654, 39.665588225033076]

circle7.pos = [31.55420438562431, 39.530243556571051]

system.paste(elms=[circle6], offset=[5, 5])

circle19.pos = [13.514036885022353, 46.345846690562958]

system.paste(elms=[circle6], offset=[5, 5])

circle20.pos = [6.000923091178187, 65.290043232018235]

removeElement(circle14)

circle20.pos = [6.2409600148253128, 60.009230911781472]

rectangle25.resize(pos=[30.651170254365262, 48.303844168790242], scaleX=0.971910359906, scaleY=1.67567920822)

rectangle(x=65.1700247702, y=-16.6825661935, width=1.44022154188, height=10.0815507932, 
          name='rectangle36', alias='r36', fillColor=(175, 178, 198, 150))

rectangle36.angle = -0.799286159328

rectangle(x=68.050467854, y=-6.72103386212, width=2.16033231282, height=14.4022154188, 
          name='rectangle37', alias='r37', fillColor=(174, 238, 147, 150))

rectangle37.grounded = True

weld(body1=rectangle37, body2=ground, b1x=0.240036923647, b1y=2.16033231282, 
     name='weld30', alias='w30')

weld(body1=rectangle37, body2=rectangle36, b1x=1.13686837722e-13, b1y=-7.08108924759, 
     name='weld31', alias='w31')

moveGroup([rectangle36, rectangle37], [[58.328972446251704, -17.042621578945973], [61.209415530016905, -7.0810892475902074]], [-0.79928615932841551, 0])

rectangle(x=47.2872739585, y=-19.9830738936, width=16.0824738844, height=1.56024000371, 
          name='rectangle38', alias='r38', fillColor=(209, 245, 141, 150))

rectangle38.pos = [47.887366267601628, -20.223110817270356]

weld(body1=rectangle38, body2=rectangle36, b1x=7.20110770941, b1y=0.0600092309118, 
     name='weld32', alias='w32')

rectangle(x=39.3660554781, y=-23.5836277483, width=0.960147694589, height=8.28127386583, 
          name='rectangle39', alias='r39', fillColor=(143, 217, 198, 150))

rectangle39.resize(pos=[39.246037016305046, -26.224033908448508], scaleX=1.25, scaleY=1.63768115942)

rectangle(x=33.1851046942, y=-26.2840431394, width=1.32020308006, height=13.4420677242, 
          name='rectangle40', alias='r40', fillColor=(199, 138, 100, 150))

rectangle39.grounded = True

weld(body1=rectangle39, body2=ground, b1x=-0.120018461824, b1y=3.30050770015, 
     name='weld33', alias='w33')

rectangle40.grounded = True

weld(body1=rectangle40, body2=ground, b1x=-0.300046154559, b1y=3.24049846924, 
     name='weld34', alias='w34')

polygon(points=[[27.604246219419444, -42.006461638246975], 
                [42.006461638246975, -42.006461638246975], 
                [42.006461638246975, -33.605169310597582], 
                [38.405907783540094, -33.605169310597582], 
                [38.405907783540094, -40.80627702001135], 
                [33.605169310597582, -40.80627702001135], 
                [33.605169310597582, -33.605169310597582], 
                [27.604246219419444, -33.605169310597582]], 
        name='polygon2', alias='p2', fillColor=(215, 122, 190, 150))

rectangle(x=36.0055385471, y=-35.405446238, width=4.80073847294, height=3.60055385471, 
          name='rectangle41', alias='r41', fillColor=(214, 145, 253, 150))

rectangle(x=36.0055385471, y=-37.2057231653, width=2.40036923647, height=2.40036923647, 
          name='rectangle42', alias='r42', fillColor=(199, 105, 194, 150))

motor(body1=rectangle42, body2=ground, b1x=3.19744231092e-13, b1y=-0.840129232765, 
      rpm=60, torqueLimit=10000, name='motor3', alias='m3')

pin(body1=rectangle42, body2=rectangle41, b1x=0.360055385471, b1y=0.840129232765, 
     name='pin6', alias='i6')

hRail(body1=polygon2, body2=ground, b1x=5.88090462935, b1y=-2.40036923647, 
      name='hRail2', alias='hr2')

motor3.rpm = -60.0

system.noCollision([rectangle41, rectangle42])

system.noCollision([polygon2, rectangle42])

rectangle40.resize(pos=[33.185104694215077, -24.543775442918548], scaleX=1.0, scaleY=0.741071428571)

rectangle(x=18.4228338899, y=-43.6867201038, width=13.0820123388, height=1.44022154188, 
          name='rectangle43', alias='r43', fillColor=(187, 239, 122, 150))

rectangle(x=12.4219107987, y=-43.8667477965, width=4.44068308747, height=3.24049846924, 
          name='rectangle44', alias='r44', fillColor=(238, 245, 105, 150))

torSpring(body1=rectangle44, body2=rectangle43, b1x=1.62024923462, b1y=0.180027692735, 
          Ktor=100, Ctor=0.08, name='torSpring1', alias='ts1')

rectangle44.grounded = True

weld(body1=rectangle44, body2=ground, b1x=-1.50023077279, b1y=0.0600092309119, 
     name='weld35', alias='w35')

rectangle(x=11.8218184896, y=-30.1846431486, width=1.80027692735, height=27.9643016049, 
          name='rectangle45', alias='r45', fillColor=(245, 200, 137, 150))

rectangle45.grounded = True

weld(body1=rectangle45, body2=ground, b1x=0.180027692735, b1y=-3.30050770015, 
     name='weld36', alias='w36')

system.noCollision([rectangle43, rectangle45])

rectangle(x=35.405446238, y=-50.5877816586, width=12.9619938769, height=2.040313851, 
          name='rectangle46', alias='r46', fillColor=(125, 229, 129, 150))

rectangle(x=42.3065077928, y=-50.7078001205, width=5.40083078206, height=4.92075693477, 
          name='rectangle47', alias='r47', fillColor=(216, 136, 201, 150))

torSpring(body1=rectangle47, body2=rectangle46, b1x=-1.74026769644, b1y=0.180027692735, 
          Ktor=100, Ctor=0.08, name='torSpring2', alias='ts2')

rectangle47.grounded = True

weld(body1=rectangle47, body2=ground, b1x=1.98030462009, b1y=0.180027692735, 
     name='weld37', alias='w37')

rectangle(x=40.9863047127, y=-45.3069693384, width=1.56024000371, height=7.56116309488, 
          name='rectangle48', alias='r48', fillColor=(128, 147, 220, 150))

rectangle48.grounded = True

weld(body1=rectangle48, body2=ground, b1x=0.180027692735, b1y=-1.38021231097, 
     name='weld38', alias='w38')

rectangle48.resize(pos=[40.986304712746836, -45.727033954777582], scaleX=1.0, scaleY=0.888888888889)

rectangle(x=21.783350821, y=-48.6674862695, width=1.32020308006, height=5.64086770571, 
          name='rectangle49', alias='r49', fillColor=(113, 128, 123, 150))

rectangle49.grounded = True

weld(body1=rectangle49, body2=ground, b1x=0.180027692735, b1y=1.62024923462, 
     name='weld39', alias='w39')

rectangle(x=24.9038308284, y=-56.9487601353, width=17.6427138881, height=1.32020308006, 
          name='rectangle50', alias='r50', fillColor=(223, 105, 184, 150))

rectangle50.grounded = True

weld(body1=rectangle50, body2=ground, b1x=-2.22034154374, b1y=0.180027692735, 
     name='weld40', alias='w40')

rectangle49.resize(pos=[21.78335082097658, -49.327587809484207], scaleX=1.0, scaleY=0.765957446809)

rectangle50.angle = 0.0575344712144

system.paste(elms=[circle5], offset=[5, 5])

circle21.pos = [22.167564535759666, -36.143993972221367]

circle21.pos = [7.765349116932132, -58.947501718698298]

polygon(points=[[15.602400037063163, -57.608861675310138], 
                [9.6014769458850235, -57.608861675310138], 
                [6.0009230911781399, -61.209415530017026], 
                [6.0009230911781399, -58.809046293545769], 
                [3.6005538547068836, -58.809046293545769], 
                [3.6005538547068836, -60.009230911781394], 
                [4.8007384729425118, -60.009230911781394], 
                [4.8007384729425118, -62.40960014825265], 
                [9.6014769458850235, -61.209415530017026], 
                [10.801661564120652, -58.809046293545769], 
                [15.602400037063163, -58.809046293545769]], 
        name='polygon3', alias='p3', fillColor=(150, 105, 172, 150))

removeElement(polygon3)

polygon(points=[[15.602400037063163, -57.608861675310138], 
                [9.6014769458850235, -57.608861675310138], 
                [9.6014769458850235, -61.209415530017026], 
                [6.0009230911781399, -61.209415530017026], 
                [6.0009230911781399, -58.809046293545769], 
                [3.6005538547068836, -58.809046293545769], 
                [3.6005538547068836, -60.009230911781394], 
                [4.8007384729425118, -60.009230911781394], 
                [4.8007384729425118, -62.40960014825265], 
                [10.801661564120652, -62.40960014825265], 
                [10.801661564120652, -58.809046293545769], 
                [15.602400037063163, -58.809046293545769]], 
        name='polygon3', alias='p3', fillColor=(222, 164, 144, 150))

polygon3.grounded = True

weld(body1=polygon3, body2=ground, b1x=5.2408061663, b1y=1.16017846429, 
     name='weld41', alias='w41')

circle21.pos = [5.3649798804608757, -56.547132482227042]

circle21.pos = [5.3649798804608757, -57.027206329521292]

rectangle(x=5.1007846275, y=-53.048160126, width=1.56024000371, height=3.60055385471, 
          name='rectangle51', alias='r51', fillColor=(182, 164, 213, 150))

rectangle51.grounded = True

weld(body1=rectangle51, body2=ground, b1x=0.300046154559, b1y=0.240036923647, 
     name='weld42', alias='w42')

removeElement(circle21)

system.paste(elms=[polygon3, weld41, rectangle51, weld42], offset=[5, 5])

moveGroup([polygon4], [[14.161409378051758, -54.969223022460937]], [0.0])

polygon4.grounded = False

removeElement(weld43)

polygon4.pos = [-1.561009120834969, -62.410367655521831]

moveGroup([rectangle52], [[-5.2615784859146082, -55.849360144546409]], [0])

polygon4.grounded = True

weld(body1=polygon4, body2=ground, b1x=5.76165528466, b1y=1.80104443462, 
     name='weld45', alias='w45')

moveGroup([rectangle51], [[5.1007846275014304, -51.967993969602766]], [0])

moveGroup([rectangle52], [[-5.2615784859146082, -54.649175526310785]], [0])

moveGroup([rectangle52], [[-5.7416523332088598, -54.649175526310785]], [0])

system.paste(elms=[polygon3, weld41, rectangle51, weld42, polygon4, rectangle52, weld44, weld45], offset=[5, 5])

moveGroup([polygon5], [[14.161409378051758, -54.969223022460937]], [0.0])

moveGroup([polygon5], [[-12.362670684955621, -64.93075535381665]], [0.0])

moveGroup([rectangle53], [[-16.183258511858828, -57.169563224605618]], [0])

moveGroup([polygon6], [[-23.325126107489467, -67.371899986877494]], [0.0])

moveGroup([rectangle54], [[-27.38575085803982, -59.850744781313615]], [0])

rectangle(x=-54.6491754636, y=-67.9862262288, width=52.7265725347, height=1.14864017589, 
          name='rectangle55', alias='r55', fillColor=(183, 132, 163, 150))

rectangle55.angle = 0.114042852012

rectangle55.pos = [-54.049083154433212, -70.986687774353612]

rectangle55.grounded = True

weld(body1=rectangle55, body2=ground, b1x=23.1551675247, b1y=0.0918230322072, 
     name='weld50', alias='w50')

hide(CONNECTORS)

system.paste(elms=[circle20], offset=[5, 5])

circle21.pos = [6.2968343164437188, 64.502141096562852]

system.paste(elms=[circle20], offset=[5, 5])

circle22.pos = [34.060001699663431, 51.571350808487907]

circle10.pos = [20.657820008486116, 62.945937953157433]

circle20.pos = [18.411115580072313, 56.079284843837129]

circle20.pos = [13.08667252027675, 56.079284843837129]

circle21.pos = [7.9448762159042499, 64.502141096562852]

circle11.pos = [13.284667184718295, 64.834149945963418]

circle21.pos = [7.4377864006856251, 64.502141096562852]

circle22.pos = [28.482013732258558, 50.430398724246004]

circle9.pos = [16.733963902214434, 55.146017405025361]

circle12.rotCenter = [0.78881146723549733, -0.83969923836733784]

circle13.pos = [35.076531286880801, 32.431819464115762]

circle12.pos = [38.46185365587057, 31.251072483883831]

circle11.pos = [24.202822998161992, 63.558717786477466]

circle22.pos = [41.846181213852311, 29.910614008413074]

circle9.pos = [45.145973508752334, 28.628141772256654]

system.paste(elms=[circle20], offset=[5, 5])

circle23.pos = [27.767801719541517, 64.130945134909723]

system.paste(elms=[circle20], offset=[5, 5])

circle24.pos = [31.253210567191871, 64.716244103780795]

circle10.pos = [6.1361262095889657, 57.368765697059253]

circle7.pos = [34.515330188683151, 37.566990479755759]

circle11.pos = [16.205368442247618, 62.401191469174073]

circle23.pos = [23.781904337324498, 63.243028790849209]

circle24.pos = [28.412009606538081, 64.295325442943195]

circle10.pos = [6.1361262095889657, 60.946574314178839]

rectangle25.resize(pos=[30.82050615961613, 48.359067637303617], scaleX=0.970586539695, scaleY=1.04540287352)

polygon(points=[[-82.38325006291619, -82.8845680146175], 
                [-86.226687692626271, -87.396429579929347], 
                [-106.78072371238021, -88.231959499431539], 
                [-111.29258527769206, -84.388521869721444], 
                [-111.62679724549292, -75.699010706898648], 
                [-106.44651174457934, -71.521361109387684], 
                [-108.78599551918548, -69.850301270383298], 
                [-114.46759897180038, -74.696374803496013], 
                [-113.96628102009906, -85.391157773124078], 
                [-106.78072371238021, -90.070125322336366], 
                [-85.224051789223637, -89.067489418933732], 
                [-80.545084240011363, -82.8845680146175], 
                [-80.175762481480888, -74.557308689445193], 
                [-81.714826127314439, -73.192420948392069]], 
        name='polygon7', alias='p7', fillColor=(205, 175, 248, 150))

rectangle(x=-97.0885766462, y=-58.2364353893, width=9.35793509842, height=7.51976927552, 
          name='rectangle56', alias='r56', fillColor=(190, 156, 165, 150))

rectangle56.grounded = True

weld(body1=rectangle56, body2=ground, b1x=-0.167105983901, b1y=0.584870943651, 
     name='weld51', alias='w51')

spring(body1=polygon7, body2=rectangle56, b1x=19.3469775032, b1y=7.44934144588, 
       b2x=-2.27373675443e-13, b2y=0.919082911452, K=5, C=0.05, 
       name='spring5', alias='s5')

spring(body1=rectangle56, body2=polygon7, b1x=-2.27373675443e-13, b1y=0.919082911452, 
       b2x=-8.0584038565, b2y=11.1256730917, K=5, C=0.05, 
       name='spring6', alias='s6')

circle6.pos = [49.434638363371221, 18.770555997672457]

circle18.pos = [49.561265743238096, 22.052691132045442]

rectangle26.resize(pos=[17.56036536432353, 43.718116801676622], scaleX=0.972090739991, scaleY=0.972841574868)

rectangle45.resize(pos=[12.263045414627138, -30.279270034752429], scaleX=1.49017672595, scaleY=1.00676769172)

rectangle(x=20.8318822878, y=1.75796475003, width=1.23057532502, height=10.5477885002, 
          name='rectangle57', alias='r57', fillColor=(197, 139, 223, 150))

rectangle57.angle = 0.194021890777

rectangle57.grounded = True

weld(body1=rectangle57, body2=ground, b1x=-0.230900400548, b1y=2.01610922028, 
     name='weld52', alias='w52')

rectangle(x=39.1147156882, y=13.3605321002, width=11.4267708752, height=1.75796475003, 
          name='rectangle58', alias='r58', fillColor=(248, 198, 146, 150))

show(LINK)

show(BEAM)

hide(BEAM)

show(FORCE)

show(GAP)

show(CIRCLE)

show(CHAIN)

rectangle58.angle = 0.375043001822

rectangle58.pos = [38.938919213150356, 15.118496850252512]

rectangle58.grounded = True

weld(body1=rectangle58, body2=ground, b1x=-1.68277622074, b1y=0.284611928201, 
     name='weld53', alias='w53')

rectangle11.angle = -0.0297270781559
...
...