SylvainLS

Eurobricks Counts
  • Content Count

    1326
  • Joined

  • Last visited

Everything posted by SylvainLS

  1. SylvainLS

    Stud.io Noob Questions

    There’s a buffer exchange feature but it only allows to move parts in the current step.
  2. I propose to keep here an up-to-date ldraw.xml, the file used by LDD to convert to and from LDraw files. Download: latest version On Windows 32 bits: download and replace the one in “C:\Program Files\LEGO Company\LEGO Digital Designer\” On Windows 64 bits: download and replace the one in “C:\Program Files (x86)\LEGO Company\LEGO Digital Designer\” On Mac: download and replace the one in the “Contents\Resources\” folder in the app (open “Applications” in Finder, right click on the “LEGO Digital Designer” package and select the “Show Package Contents” option to explore the pakage folders). (Thanks manglegrat!) This file is also used and distributed with these tools: lxf2ldr C++/Qt version (both CLI and GUI), more options but needs to be compiled lxf2ldr.html HTML/JS version, works everywhere! If you have other modifications or additions, post them here or send me a personal message and I’ll include them to the benefit of all. If you need a part, feel free to ask here and I’ll try to add it (provided it exists in LDraw and LDD). History and Contents It’s based upon gallaghersart’s latest version (see this thread). It includes the modifications shutterfreak published in his thread. It uses some of the LDraw unofficial parts (mainly for new parts in LDD Brick version 2075). It includes some name corrections (because LDraw renamed or moved some parts, added new variants, etc.). I tried to more accurately convert the colors (now mainly according to Ryan Howerter’s conversion table). It’s not easy because all sources (Swooshable, Mecabricks, Ryan) don’t agree, and there are holes and overlaps. But as these differences, holes, and overlaps occur for rare colors or colors that aren’t available in LDD, it should be okay. In a megalomaniacal way, all the entries I have modified have an “SLS” at the end of their heading comments. New entries have an “SLS” at the front of the comments. So it’s easy to know when to blame me. As of 2016-09-16 and the big overhaul, I assume all the errors. Know Limitations As of LDD 4.3.9, flex parts (hoses) are not exported anymore (even unflexed). Minifig arms and hands are not connected in LDraw. I don’t know whose geometry is off (both?) but the shapes differ a lot. At least, hands are correctly connected to whatever they clip and arms are correctly placed in their sockets and somewhat wrap around the hands’s stems. Some variants are not recognized by LDD (e.g. clips, or tiles with/without groove, etc.) In those cases, I prefer to use the most recent variant in LDraw as it generally is easier to find and cheaper. Sometimes, several LDD parts correspond to a unique LDraw part. Sometimes, the transformation is accurate for one variant but not for another. For example, the Flag 2 x 2 is known to LDD as 2335, 11055, and 60779, but LDraw only has the 2335 variant. 2335 and 60779 use the same transformation but 11055 is vertically offset. I preferred to badly convert 11055 to 2335 rather than not convert it at all or badly convert 2335 and 60779. ldraw.xml is used both ways (LDD to/from LDraw). It’s not something I do frequently (too many resulting collisions) so it’s not well tested. One problem I can see is that, when several LDD parts correspond to a unique LDraw part, the conversion that’s listed last is the one that will be used. The reverse (first written is the one used) is true for assemblies that use the same subparts, in the same quantity (like electric cables). A lot of LDraw parts are simply wrong. Almost all the parts that combine System (studs and anti-studs) and Technic (pins and axles, and their holes) are wrong in that they assume the technic holes are at the same height than side studs (on the picture below, the circles are concentric). LDD assumes the holes are 0.2 mm (0.5 LDU) higher. In ABS, the holes are 0.12 mm (0.375 LDU) higher (dixit Jamie Berard in his famous presentation). In order to limit the number and magnitude of errors, LDD is considered to be right. How to write a new transformation for a part in ldraw.xml What? ldraw.xml is an XML file that defines how LDD can export to (or import from) LDraw files. It does so by defining a match between the part’s IDs and how to rotate and translate the part from one geometry to the other. Matches are defined by “Brick” XML elements. For example, this one says to LDD that the Brick 1x1 that it knows as 3005 is also known to LDraw as 3005: <Brick ldraw="3005.dat" lego="3005" /> (Note the “.dat” in the ldraw ID.) Matches are not needed if the part IDs are the same: the transformation element is sufficient for LDD to know the part exists. (So the example above is useless ) Rotations and translations are defined by “Transformation” XML elements. This one says to LDD that the Brick 1x1 just needs to be moved up: <Transformation ldraw="3005.dat" tx="0" ty="-.96" tz="0" ax="1" ay="0" az="0" angle="0" /> The translation (tx, ty, and tz) is in centimeters (0.8 cm is the width of a brick, 0.96 cm its height). The rotation is given by its axis (the line passing through and ), and its angle in radians. And all the coordinates are in the direct (“riht-handed”), Y points up, coordinates system of LDD. The transformation explains what should be done to import from LDraw besides changing the axes (LDD’s Y is up and XYZ is a direct basis, LDraw’s Y is down and XYZ is an indirect basis; so changing the axes only means changing the sign of Y). So, in an LDD to LDraw point of view, the transformation is reversed: it says what happens to a part if you don’t do anything to its coordinates besides changing the sign of Y. In other words, the opposite transformation has to be applied to the LDD coordinates of the part in order to get the LDraw coordinates (with Y reversed). Why? Each part has an orientation (which way up? which way left?) and a center, point of origin, or reference point (we’ll use “reference point” from now on). But LDD and LDraw don’t always agree. To know the orientation and reference point in LDD, insert the part without rotating it nor attaching it to any other part. It will be aligned along the scene’s axes (LDD’s axes). The reference point is near the mouse pointer’s head. To know the orientation and reference point in LDraw, I find LeoCAD the easiest tool: just select the part and its axes are drawn (X red, Y green, Z blue), starting at its reference point. Okay, LeoCAD’s «X, Y, Z» is LDraw’s «X, -Z, Y» but what’s another little change of basis? Sometimes, their disagreement is trivial. For example, for the simple 1x1 brick (3005), both LDD and LDraw agree: the stud is on top and the reference point is on the vertical line going through the center of the stud. But they differ for the height at which the reference point should be: LDD says it’s at the base of the brick, LDraw at its top (but at the base of the stud). (On every picture, X will be red, Y green, and Z blue.) So the transformation for that part is straightforward: if the LDraw part is imported as is, with only Y reversed, it will end up 0.96 cm (the height of the brick) higher than it should. So we have to lower it by 0.96 cm: <Transformation ldraw="3005.dat" tx="0" ty="-.96" tz="0" ax="1" ay="0" az="0" angle="0" /> Sometimes, their disagreement is more profound and the transformation is therefore more complicated. For example, for the musket (Minifig Gun Musket 2561), LDD puts the reference point in the handle and “up” means the handle is vertical but LDraw puts the reference point in the barrel and “up” means the barrel is vertical. Even more, the stock is on the wrong side, so X and Z are different too. With an identity transformation, the part is rotated by an eighth of a turn (X to Y) (π/4) around the Z axis to put the barrel vertical, and then by a quarter turn (X to Z) (-π/2) around the Y axis. After that, it has been translated up and horizontally. After calculations (see below), we’ll end up with this transformation: <Transformation ldraw="2561.dat" tx="0" ty="-1.72" tz="0.336" ax="-0.3574067443365933" ay="-0.8628562094610169" az="0.3574067443365933" angle="1.7177715174584016"/> How? So, how do we find the right values to have the correct transformations? What’s the ID? Having the right part Check the ID of the part in LDD. Check the ID of the part in LDraw. Beware of variants, LDraw uses a letter suffix (a, b, c…) where LDD totally changes the ID or keeps the same ID for new variants. Don’t hesitate to look on BrickLink for the part ID: BrickLink keeps a list of alternate IDs (when the same part has several IDs) and links to variants and notes. If the IDs are the same. Nothing to do. If the IDs differ. We add a Brick element: <Brick ldraw="123a.dat" lego="456" /> Don’t forget the “.dat”! That was the easy part. Which way is up? Finding the rotation axis and angle We start in LDD. Up is Y, or Y is up. X and Z are a bit harder to see on the LDD scene unless you use LDD’s developper mode (which has the LDD axes drawn at «0,0,0» as red X, green Y, and blue Z lines). Or, if you’re sure you didn’t move the camera in a brand new model/file, X is pointing bottom right, and Z bottom left. We place our part among other parts that we know will be correctly converted (like 1x1 plates, or harpoons ) to have references. Using different colors greatly helps! We export to LDraw… … and look at the results: We decompose the transformation in multiple simple rotations, around the X, Y, or Z axis. If it has been turned around X, a quarter turn from Y to Z is a positive π/2 angle. If it has been turned around Z, a quarter turn from X to Y is a positive π/2 angle. If it has been turned around Y, a quarter turn from Z to X is a positive π/2 angle. To make it short, it’s a direct (right-handed) basis. If you can’t figure out the problems with an existing transformation, “clear” it by using an identity transformation: <transformation tx="0" ty="0 tz="0" ax="0" ay="1" az="0 angle="0"/> (All zeroes but one of the a_ which is 1.) You can try each simple rotation one by one to be sure of their angles (especially their signs ). Beware, combining rotations change their axes (e.g. turning around first X then Y is equivalent to turning around first Y then Z). So if you check that the Y rotation is okay, then the X rotation, don’t forget to combine them as Y then Z. For the musket, we need two rotations: an eighth of a turn (π/4, 45°) around the Z (blue) axis that puts the barrel vertical, and then a quarter turn (-π/2, -90°) around the Y (green) axis. Or we can first make the quarter turn (-π/2, -90°) around the Y (green) axis, and then an eighth of a turn (π/4, 45°) around the X (red) axis. Remember, “import”-wise, we’re trying to find what should happen to the part in the LDD scene to be like the LDraw one, with the LDD axes (the harpoons ). My head is turning. Combining rotations If more than one simple rotation is needed, we have to combine them. For that, we’ll use quaternions. Eh come back! That’s not that difficult! A quaternion q can be written as q = a + b.i + c.j + d.k, where i² = j² = k² = i.j.k = -1 (so i.j = k = -j.i, j.k = i = -k.j, k.i = j = -i.k). a is the real part, b.i + c.j + d.k is the imaginary part. A rotation by the angle angle around the axis «ax, ay, az» is the quaternion q = cos(angle/2) + sin(angle/2).(ax.i + ay.j + az.k) Do note the 1/2 factor on the angle! To combine two rotations, we just multiply their quaternions and apply the rules above to end up with a a + b.i + c.j + d.k form (or, more accurately, a C + S.(ax.i + ay.j + az.k) form, where C and S are cosine and sine of the same angle and ax² + ay² + az² = 1 ). If we rotate first by q and then by p, the result is the rotation by p.q. Note the order: q then p is p.q. Multiplication is not commutative with quaternions: if you do it the wrong way, you’ll end up with the correct values but the wrong signs. There’re lots of fun to have with quaternions and rotations as quaternions. But what is said here is sufficient for our purposes. An example: Most of the times, we do π/2 rotations (quarter turns, 90°). angle = π/2 therefore cos(angle/2) = sin(angle/2) = cos(π/4) = sin(π/4) = √2/2; So, for a “horizontal” quarter turn (yaw, around Y): q = √2/2 + √2/2.j (as j/Y is the “vertical” axis). Let’s combine it with a half turn (π, 180°) around the X axis (IOW, upside-down): cos(π/2) = 0, sin(π/2) = 1, so p = 0 + i p.q = (0 + i) . (√2/2 + √2/2 j) = √2/2 i + √2/2 i.j = 0 + √2/2 ( i + k ) Now, let’s get the resulting angle: The real part of p.q, 0, is the cosine of angle/2. 0 is also the cosine of ±π/2 (±90°). Therefore, the resulting angle is π (180°). Now the axis, «ax, ay, az»: It’s the √2/2( i + k) imaginary part. That’s the vector «√2/2, 0, √2/2». We need to remove the sin(angle/2) factor. That’s easy as the sine of π/2 is 1. So our axis is «ax = √2/2, ay = 0, az = √2/2». Written in ldraw.xml: ax="0.707…" ay="0" az="0.707…" angle="3.1415…" Another one, a quarter turn around Y and then around X: q = √2/2 + √2/2 j = √2/2 (1 + j) p = √2/2 + √2/2 i = √2/2 (1 + i) p.q = 1/2 (1 + i) (1 + j) = 1/2 + 1/2 (i + j + k) We rewrite it as p.q = 1/2 + √3/2 (√⅓ i + √⅓ j + √⅓ k) to have a unit vector (ax² + ay² + az² = 1) in the parenthesis and to clarify the cosine and sine: 1/2 and √3/2. They are the sine and cosine of π/3 (60°). Therefore, the resulting angle is 2π/3 (120°). In ldraw.xml: ax="0.577…" ay="0.577…" az="0.577…" angle="2.094…" Back to our musket: An eighth of a turn (π/4, 45°) around the Z axis that puts the barrel vertical: q = cos(π/8) + sin(π/8).i = C + S.k Then a quarter turn (-π/2, -90°) around the Y axis: p = cos(-π/4) + sin(-π/4).j = √2/2 (1 - j) p.q = √2/2.(1 - j)(C + S.k) = √2/2.(C - S.j.k - C.j + S.k) = √2/2.C + (-√2/2.S.i - √2/2.C.j + √2/2.S.k) Wow! Hum, okay. So √2/2.cos(-π/8) is the cosine of half our angle. Get the calculator out… angle/2 = Acos(√2/2.cos(-π/8)) = 0.8589 Our angle is 1.7178. We “remove” the sine of angle/2 from our vector, so that p.q = cos(angle/2) + sin(angle/2).(ax.i + ay.j + az.k): ax = -√2/2.sin(-π/8) / sin(0.8589) = -0.3574 ay = -√2/2.cos(-π/8) / sin(0.8589) = -0.8629 az = √2/2.sin(-π/8) / sin(0.8589) = 0.3574 As an exercise, you can verify that ax² + ay² + az² = 1. So we did it right! Et voilà: ax="-0.3574067443365933" ay="-0.8628562094610169" az="0.3574067443365933" angle="1.7177715174584016" One step to the left. Getting the translation right Now that the part is correctly oriented, it may need to be moved. The translation is in centimeters (cm). 20 LDU = 0.8 cm. Values are often multiples of 0.4 (half a stud) for tx and tz and multiples of 0.32 (height of a plate) for ty. Other, finer, tunings are often in multiples of 0.008. If the rotation is complex, all bets are off In LDD, we try to place the part so that its LDraw up axis ends up up in the scene, and we try to align its LDraw X and Z axes with X and Z of the scene (at least, that it is not rotated by a weird angle). That way, moving the part along its axes is also moving the part along the scene’s axes. It will be easier for getting the translation right. For our musket, that means the barrel up. (I didn’t align the X and Z axes here because, yeah, I’m a warrior, I don’t need that. Besides, you’ll see what happens because of that. ) Again, I find it easier in LeoCAD: the key bindings, the coordinates clearly shown in the status bar, etc. The thing is, LeoCAD uses a direct Z up basis. So if you move «dx, dy, dz» in LeoCAD, you’re moving «dx, -dz, dy» in LDD (and vice versa). Confusing? Noooh. Anyway, choose your own poison but beware of its little quirks. To help fine tuning, using transparent colors greatly helps, especially for clip-bar connections. Now, we note the coordinates of our part in our LDraw editor and move it so that it ends up the way it should. We look how much we moved it. That’s it! Just convert it to cm (= LDU × 0.8 / 20) and we have our translation. Well, mostly, the signs are wrong. Remember: the transformation is what should happen to the LDD part to end up like the LDraw part, we just did the opposite and moved the LDraw part to be like the LDD one. Besides the signs, if you didn’t correctly align the axes, you’ll have to find which is which For our musket, we need to go up and sligthly to the “left” (from bottom right to upper left when your LDraw view is oriented as a new LDD file, as are all the screenshots here). That means negative dy and dx. But as the part is not aligned on X and Z (but still not badly rotated), the negative dx becomes a positive dz. Et voilà! <Transformation ldraw="2561.dat" tx="0" ty="-1.72" tz="0.336" ax="-0.3574067443365933" ay="-0.8628562094610169" az="0.3574067443365933" angle="1.7177715174584016"/> (So, okay. I had to try first tx then tz, both negative and positive, before I found the right one. But I didn’t want to have to remake the pictures! There: I’m not a warrior, I’m just lazy.)
  3. Update 2024-03-23 Added: 18277 / 18277.dat Minifig Tail Fluffy 95341 / 95341.dat Animal Goat Added Custom Assemblies: 18386 Minifig Hips and Legs with Black Leg Extenders 100943 Technic Steering Wheel Bearing with 2 Towballs Added Custom Parts: 1994 / 1994.dat Technic Cylinder with Peghole and Half Click Rotation Joint Ball 1995 / 1995.dat Flame / Vapor Trail 3 x 12 with Axle Hole and Marbled Core 2821 / 2821.dat Container 2 x 2 x 1 Crate Reinforced 3167 / 3167.dat Technic Beam 2 x 3 C-shaped 3171 / 3171.dat Constraction Finger Angled with Clip 3233 / 3233.dat Window 1 x 2 x 3 Train with Underside Ridged Stud Holders 3484 / 3484.dat Bar 1.5L with Clip Type 3 3563 / 3563.dat Brick 1 x 2 x 0.667 with Curved Top 3565 / 3565.dat Plant Palm Leaf 2 x 6 Rounded with Rounded 1 x 2 Plate 3567 / 3567.dat Tile 2 x 2 Round Inverted with Groove 3573 / 3573.dat Slope Brick Curved 4 x 1 x 1.667 3627 / 3627.dat Constraction Lightsaber Blade 10L with Axle End 3766 / 3766.dat Plate 4 x 6 with Rounded Ends 3803 / 3803.dat Bar 1L Quadruple with 1L Peghole Hub 3917 / 3917.dat Ring 2 x 2 with Stud Holder 3968 / 3968.dat Figure Arm Bent Long with Peghole and Friction Pin 4041 / 4041.dat Panel 4 x 4 x 3 Corner Round 4042 / 4042.dat Bar Curved with Axle End and 2 Opposite Studs 4304 / 4304.dat Plate 2 x 2 x 0.667 with Two Studs On Side and Two Raised with Partial Closed Understud 4585 / 4585.dat Bracket 2 x 1 - 2 x 1 Up Centred 4586 / 4586.dat Technic Beam 9 x 0.5 with 3 Holes 5065 / 5065.dat Panel 6 x 5 x 3.333 with Curved Top 5066 / 5066.dat Plate 2 x 2 with Horizontal T-Bar Below 5152 / 5152.dat Brick 3 x 3 Corner Round 5405 / 5405.dat Technic Gear 4 Knob 45° 21788 / 21788.dat Minifig Hair Short Smooth 35809 / 35809.dat Minifig Pen 37784 / 37784.dat Minifig Hair Half Giant with Beard 42876 / 42876.dat Minifig Food Turkey Leg with Oval Opening on Back 65203 / 65203.dat Figure Micro Doll Body with Long Dress 65700 / 65700.dat Plate Round 2.5 x 2.5 with Melting Drops on Sides 65766 / 65766.dat Technic Steering Wheel Bearing with 2 Pegholes & 2 Axleholes Arms Type 2 67037 / 67037.dat Minifig Helmet with Cheek Guard and Neck Protector 67144 / 67144.dat Sheet Plastic 8.5 x 7 Motorcycle Windscreen 67361 / 67361.dat Brick 2 x 2 Round with Tail/Neck Curved Extension with Tip Pin Hole 67697 / 67697.dat =Technic Beam 2 Liftarm with Straight Ball Joint 68212 / 68212.dat Minifig Tuft 69857 / 69857.dat Minifig Hair Curly with High Ponytail 72132 / 72132.dat Plate 2 x 6 x 0.667 with Four Studs On Side and Four Raised Reinforced 73764 / 73764.dat Brick 2 x 2 x 1.667 with Hole for Worm Screw 6L 78333 / 78333.dat Hose Reel 2 x 2 with Stud and Pin Holes 78643 / 78643.dat Minifig Armor Breastplate with Round Shoulder Pads and 2 Back Studs 79735 / 79735.dat Minifig Chopsticks 79766 / 79766.dat Technic Beam 15 x 7 with Open Center and 3 Truss Bars 79767 / 79767.dat Technic Beam 15 x 5 with Open Center and 3 Truss Bars 79808 / 79808.dat Minifig Whisk with Notch in Handle 80295 / 80295.dat Technic Reel 4 x 3 80835 / 80835.dat Container Treasure Chest Lid with Flat Top 100942 / 100942.dat Wheel 37 x 45 Hard-Plastic with 6 Curved Spokes md5sum: 91c6fddb739e1933d31ce922d285baea
  4. Studio is more resistant to changes these days… but you need to stay in the Instruction Maker: don’t go changing steps or creating/releasing submodels in Build mode, do it in Step Editor. That may still mess up the instructions for the current submodel but the next ones are generally resilient now.
  5. Update 2024-02-08 Added: 10056 / 10056.dat Minifig Helmet with Cheek and Neck Protection 10065 / 10065.dat Minifig Beard with Braided Moustache Ends 10829 / 10829.dat Minifig Helmet Deep Diver with Lens 11098 / 11098.dat Minifig Armour Breastplate with Shoulder Pads, Front Stud and 2 Back Studs 11107 / 11107.dat Minifig Sword Serrated with Bar Holder 12551 / 12551.dat Minifig Mask Crocodile 12894 / 12894.dat Minifig Hat Cone 16768 / 16768.dat Bar 4L with Flame Protusions 17348 / 17348.dat Minifig Princess Hair with Hat 18051 / 18051.dat Vehicle Mudguard 3 x 4 x 1 2/3 with Curved Fenders 18742 / 18742.dat Bucket 2 x 2 without Handle Holes 18959 / 18959.dat Minifig Hat Nemes 19026 / 19026.dat Minifig Helmet Cyborg Open Side 20690 / 20690.dat Animal Dog Sitting Great Dane Body 20691 / 20691.dat Animal Dog Sitting Great Dane Head 24084 / 24084.dat Minifig Weapon Spiked Ball 98129 / 98129.dat Minifig Helmet Visor Samurai 98132 / 98132.dat Minifig Armour with Shoulder Pads and Scabbard 98133 / 98133.dat Minifig Hat Ninja Wrap Type 1 98725 / 98725.dat Minifig Hair Female Long Wavy with Tiara 99251 / 99251.dat Minifig Neck Ruff Added custom parts: 60189 / 60189.dat Brick Braille 2 x 4 with 1 Stud (DOTS-1) 60290 / 60290.dat Brick Braille 2 x 4 with 6 Studs (DOTS-123456) 65559 / 65559.dat Brick Braille 2 x 4 with 1 Stud (DOTS-5) 65579 / 65579.dat Minifig Hair Parted in Middle with 2 Round Buns on Top 73210 / 73210.dat Mario Pixelated md5sum: 6e5456c9d8359b6508c0e8c09d41fd62
  6. The bug is fixed in both ‘production’ and EarlyAccess in version 2.24.1(1). You need to (re)download and (re)install as you can’t click Accept in the older version. The fix for PartDesigner is in testing now. No exact ETA on a release. Should be soon.
  7. (Wasn’t griping at you: you’re a newbie, it’s normal not to know. Experienced users should know though ) Stud in Technic hole is mostly illegal. For the BrickLink Designer Program (webinar video), you can only put one stud in one Technic hole, and nothing else attached to it. Here, another problem is that, IRL, the Technic hole is 0.12mm higher than the side stud. So, not only is the Technic hole too small for a stud, but it’s not aligned. For that build, you’d need to use a 1x1 panel instead. Or another headlight brick… but then it creates a hole on the right and (contrarily to what the LDraw/Studio model shows) the side stud goes farther than the next brick, so you need a hole next to that one too: a panel or a Technic hole (this time, it’s just a small bump, so the parts are not connected and therefore not stressed).
  8. Oh people, Studio is not LDD! Use the arrows to turn the brick upside-down and then the WASD keys (they obey to the Grid) and/or the Translation tool to place it. Here’s a 13s screencast that shows how to do your build. Gee, what’s the use of writing help pages! ——— And there’s way more than 4 or 6 parts too many here! 2 headlight bricks are enough:
  9. Yes and no. LDD reads everything that’s in the directory, files and subdirectories. So you just needed to move the older LDDExtended.lif away. Otherwise, it’s you and your luck which info LDD’s reading last: the old lif file or the new files in the extracted folder.
  10. Hi, You’re right not to give any information about your system: I can guess you’re on a macOS Sonoma 14.2 (or 14.2.1). (Also discussed here.)
  11. You create it in the folder where you put the downloaded files. PD will inline these files (that is, replace their references by their contents) in the .dat file it will create. You (generally) won’t need the downloaded files again after the model is imported in PartDesigner.
  12. Hi, You (obviously ) need to download all the files Studio doesn’t yet have (or has in an older version). You will need to create a folder named ‘s’ and put the subfiles (xxxs0x.dat) there. Then, in PartDesigner, you import the main file and it will find and load the subfiles automatically. Only the xxxs0x.dat files need to go in the ‘s’ folder. It’s because they are referenced as s\xxxs0x.dat in the main (or upper) file. All the other files (subparts or new primitives) go in the same folder as the main file. Note that you need to restart PartDesigner when you add files (or create the ‘s’ subfolder): it caches its search results and if it failed to find some files or the ‘s’ folder, it won’t look again during the same session.
  13. Update 2023-12-19 I did not check the 100 or 200 parts (stock and custom) that were customized/modified since December 2022. Theoretically and hopefully, their orientations and positions weren’t changed. Added: 13784 / 13784.dat Minifig Hair Female Long with Braided Pigtails 15437 / 15437.dat Minifig Armour Shoulder Pads 15557 / 15557.dat Minifig Hair Trapezoid Swept Back 24204 / 24204.dat Animal Tail Bladed with Pin and Bar Tip 25613 / 25613.dat Minifig Hair with Top Knot Bun and Fringe 53545 / 53545.dat Constraction Torso 11 x 6 Importable: 3347.dat / 94161 =Window 1 x 2 x 2.667 Shutter with Rounded Top 79811.dat / 98369 =Minifig Cleaver 35287.dat / 60602 Glass for Window 1 x 2 x 3 Added Custom assemblies: 37779 Minifig Arm Large Left with Friction Pin 37783 Minifig Arm Large Right with Friction Pin 73261 Electric 4.5V 3 C-Cell Battery Box Polarity Switch 2 x 4 85824 Electric Control+ Hub with Screw Opening Added Custom parts: 1686 / 1686.dat Constraction Shell 2 x 4 x 3.333 Shoulder Pad with Bar 1744 / 1744.dat Cylinder 3 x 3 x 3 Dome Elongated 1846 / 1846.dat Car Mudguard 4 x 3 x 1.667 1872 / 1872.dat Wheel Rim 11 x 18 Front with 36 Spokes and Knock-off Hub Nut 1939 / 1939.dat =Tile 4 x 4 Corner Round Type 2 1942 / 1942.dat Slope Curved 4 x 2 x 0.667 Double with Fresnel Lens 2142 / 2142.dat Horn Stacked with Axle Holes 2405 / 2405.dat Technic Wheel Spindle Axle Driver Bar 5L 2438 / 2438.dat Technic Panel 5 x 3 x 2 Corner Left 2442 / 2442.dat Technic Panel 5 x 3 x 2 Corner Right 2471 / 2471.dat Technic Gear 24 Tooth with Clutch on Both Sides 2473 / 2473a.dat Technic Transmission Driving Ring 2L with 8 Teeth 2474 / 2474a.dat Technic Gear Stepper with 8 Teeth 2477 / 2477.dat Technic Beam 3 x 5 Bent 90 with Alternating Holes 2491 / 2491.dat Tyre 29/ 66 x 43 2502 / 2502.dat Technic Beam 2 x 12 x 9 with Claw 2509 / 2509.dat Technic Panel 11 x 2 x 5 Mudguard Arched #32 2612 / 2612.dat Plate 16 x 16 x 0.667 with 8 x 8 Cutout and Recessed Studs 2628 / 2628.dat Plate 8 x 8 x 0.667 with Cutouts and Recessed Studs 2629 / 2629.dat Plate 8 x 16 x 0.667 with Cutouts and Recessed Studs 2656 / 2656.dat Container Cupboard 2 x 3 x 5 2657 / 2657.dat Door 1 x 3 x 5 2676 / 2676.dat Minifig Beard with Braided Moustache Ends and Braid in Back 2937 / 2937.dat Slope Brick 55 1 x 6 x 5 with Bottom Stud Holders 3130 / 3130.dat Panel 2 x 2 x 1 Side Panels 3131 / 3131.dat Panel 2 x 2 x 1 Corner Posts with Centre Stud 3160 / 3160.dat Tile 6 x 6 x 0.667 with Angled Textured Surface 3161 / 3161.dat Panel 2 x 4 x 6 Rock 3166 / 3166.dat Vehicle Mudguard 4 x 8 x 0.667 (needs Work) 3170 / 3170.dat Plate 1 x 2 with Ball Joint-8 on Both Ends 3172 / 3172.dat Plate 1 x 3 with Offset Peghole on Underside 3221 / 3221.dat Minifig Helmet Pan Shaped with Hollow Stud on Front 3224 / 3224.dat Fence 1 x 2 x 1.667 with 45 Degree Diagonal Bar 3250 / 3250.dat Technic Ring 15 3251 / 3251.dat Technic Panel Cylinder 15 60° 3263 / 3263.dat Plate 4 x 3 x 0.667 with Rounded Corners on one Side 3384 / 3384.dat Windscreen 6 x 4 x 1.333 Sloped 3385 / 3385.dat Car Base 6 x 12 with 5 x 6 Recessed Centre and Studs on Sides 3386 / 3386.dat Plate 1 x 1 x 0.667 Half Round with Open Side Stud 3387 / 3387.dat Car Mudguard 4 x 2.5 x 2 3388 / 3388.dat Wedge 1 x 5 Straight Left 3389 / 3389.dat Wedge 1 x 5 Straight Right 3395 / 3395.dat Tile 2 x 4 Inverted with Groove 3396 / 3396.dat Tile 2 x 2 with Two 1 x 1 Curved Cutouts 3477 / 3477.dat Tile 4 x 4 Corner Round Type 2 3486 / 3486.dat Wheel 16 x 37 Hard-Plastic with 4 Studs 3504 / 3504.dat Wedge 2 x 5 Straight Left 3505 / 3505.dat Wedge 2 x 5 Straight Right 3535 / 3535.dat Panel 3 x 3 x 2 Quarter Round 3538 / 3538.dat Technic Panel 11 x 2 x 5 Mudguard Arched with Rounded Top #43 3544 / 3544.dat Wing 3 x 8 Left 3545 / 3545.dat Wing 3 x 8 Right 3569 / 3569.dat Cone 4 x 4 x 3 on Brick 2 x 2 Round 3572 / 3572.dat Arch 1 x 5 x 2 3661 / 3661.dat Plate 1 x 1 with Vertical Bar 3668 / 3668.dat Plate 2 x 6 with Side Bricks 1 x 2 x 1.333 with Axlehole with Underside Ridges 3885 / 3885.dat Minifig Sword Darksaber 4158 / 4158.dat Technic Changeover Cylinder with Groove 4159 / 4159.dat Technic Changeover Catch Fork 4192 / 4192.dat Technic Steering Constant Velocity 8mm Joint Female With 2L Axle 4569 / 4569.dat Slope Brick 10 6 x 1 18031 / 18031.dat Minifig Sword Longsword with Thick Guard 26741 / 2674c.dat Minifig Sword Small with Curved Blade and Detailed Hilt 26742 / 2674e.dat Minifig Sword with Broken Blade 26743 / 2674f.dat Minifig Sword Small with Upturned Crossguard and Capped Pommel 26744 / 2674b.dat Minifig Sword Greatsword with Capped Pommel 26745 / 2674a.dat Minifig Sword Elfish 26746 / 2674d.dat Minifig Weapon Axe Dwarven 28621 / 28621.dat Minifig Head with Vented Stud 32305 / 32305.dat Technic Connector Block 7 x 4 x 3 32533 / 32533.dat Technic Disc 5 x 5 Projectile 35530 / 35530.dat Minifig Baby Head Cuboid 37822 / 37822.dat Minifig Baby Carrier 38301 / 38301c02.dat Minifig Cape Cloth Scalloped 6 Points (Formed Shape 2) 38458 / 38458.dat Minifig Head with Exaggerated Chimpanzee Features 39370 / 39370.dat Technic Beam 5 x 3 H-shaped with Ball Socket 40145 / 40145.dat Plate 2 x 2 Round with Rotation Stem 45779 / 45779.dat Minifig Helmet with Mask 45991 / 4599a.dat Tap 1 x 1 with Hole in Spout 49736 / 49736.dat Cylinder Tube Slide Straight 49737 / 49737.dat Cylinder Tube Slide Curved 45 Degrees 51066 / 51066.dat Minifig Robot Leg 1 x 2 x 1.667 with Pin with Square Centre Hole 57881 / 57881.dat Minifig Hat Rain 65066 / 65066.dat Glass for Door 1 x 6 x 7 with Arch 66964 / 66964.dat Minifig Sword Greatsword Pointed with Upturned Crossguard 67631 / 67631.dat Animal Otter 68577 / 68577.dat Wheel Rim 42 x 62 with 20 Spokes and 3 Pins 69912 / 69912.dat Tyre 35/ 55 x 43 R Tractor 69945 / 69945.dat Animal Hermit Crab with 45 Degree Bar on Back 70495 / 70495.dat Windscreen 3 x 14 x 4 with Conical Sides 70880 / 70880.dat Rock Rounded 1 x 4 with 2 Studs on Ends 73763 / 73763.dat Technic Worm Gear 6L 77123 / 77123.dat Minifig Head Special with Black Mouse Ears and Nose with Fire Fighter Helmet 77822 / 77822.dat Sports Stuntz Loop Ramp Base 77823 / 77823.dat Sports Stuntz Loop Ramp Section 77844 / 77844.dat Plate 3 x 3 Corner 77845 / 77845.dat Plate 1 x 4 Round Ends with 2 Open Studs on Ends 77850 / 77850.dat Plate 1 x 3 Round Ends and 3 Open Studs 78124 / 78124.dat =Container Cupboard 2 x 3 x 2 Drawer 78168 / 78168.dat Plate 2 x 6 with Centred 2 x 2 Rounded Holder 79768 / 79768.dat Technic Beam 16 x 7 Triangular with Diagonal Bars 79996 / 79996.dat Bag Tag with 3 x 8 Studs 80031 / 80031.dat Plate 10 x 10 with Rounded End 80390 / 80390.dat Bag Tag with 3 x 6 Studs 80428 / 80428.dat Technic Weight 7 x 11 x 2 80497 / 80497.dat Animal Tail with Straight Tip 80513 / 80513.dat Animal Toucan 80562 / 80562.dat Train Track Roller Coaster 4 x 4 80567 / 80567.dat Vehicle Mudguard 4 x 10 x 0.667 80577 / 80577.dat Minifig Hair Long Wavy with Knit Ski Cap 80683 / 80683.dat Door 1 x 3 x 6 80834 / 80834.dat Minifig Hair with Nurse Hat with Long Back 83496 / 83496.dat Tile 4 x 8 Inverted 86879 / 86879.dat Animal Axolotl Body 90840 / 90840.dat Train Wheel Very Large with Axlehole and Pinhole 100662 / 100662.dat Minifig Baby Head with Space Helmet and Air Tanks 101658 / 101658c01.dat Minifig Cape with Stepped Shoulders and Single Top Hole (Formed) 101777 / 101777.dat Minifig Top Hat with Band 102498 / 102498.dat Minifig Tool Wand with Hollow Stud at Tip 103918 / 103918.dat Windscreen 4 x 4 x 2 with Integral Glass 350321 / 35032a.dat Power Burst Blaster with Bar 350322 / 35032b.dat Power Burst Bolt 5L with Bar at Both Ends 350324 / 35032d.dat Power Burst Bolt 5L Spiral with Bar at Both Ends 350325 / 35032e.dat Power Burst Shield 3.5 x 3.5 with Bar 350326 / 35032f.dat Power Burst Shield 3 x 2.5 with Bar at Both Ends md5sum: f5167111b89abeb94b6421975dbf678e
  14. Palettes/LDDExtended/MaterialSelector.xml
  15. No, there’s a line below, with Metallic Sand Blue, Phosph. Green, Phosphorescent White, Tr. Fluore. Redd. Orange, and Tr. Fluore. Blue. I’d edit the file and remove the colours I don’t use.
  16. Don’t keep the original LDDExtended.lif in LDD’s folders. LDD reads all it can find, so it reads the original lif file and that overrides the content of the LDDExtended folder.
  17. Hi, The template (or rather bits of it) is in the code. Studio uses LDView’s code (it’s in the licence and exported files), and AFAICT, it’s how LDView does it. (There’s still people using POV-Ray?)
  18. Update 2023-10-21 Colours updated (I forgot to do that in April when ldconfig.ldr was updated ) Added: 6089 / 6089.dat Minifig Helmet Diving with Scuba Tanks and Clips Corrected: 23985 / 23985.dat Minifig Sword Hilt with Skull (I had the wrong file ) md5sum: 6eb81b0a2f6cd2525013ab2856605686
  19. Peeron is very outdated. Use Ryan’s list.
  20. Hi, Copy your model and paste it in a new project (Ctrl+A Ctrl+C Ctrl+N Ctrl+V). Page Design won’t be copied over but all the rest (submodels, steps) will.
  21. Hi, You have to make the instructions (see the help pages). 47 empty pages mean 47 empty steps. You must have created them somehow. Note that releasing a submodel does create steps.
  22. Update 2023-10-02 New parts: 11602 / 11602.dat Animal Cat Sitting 11264 / 11264.dat Minifig Hair Short with Laurel Wreath 11418 / 11418.dat Minifig Headdress Bold with Large Pointed Ears 18962 / 18962.dat Minifig Helmet Snake Skull 23985 / 23985.dat Minifig Sword Hilt with Skull 30668 / 30668.dat Minifig Hood with Fringe 93069 / 93069.dat Minifig Beard Long with 3 Points 98128 / 98128.dat Minifig Helmet with Clip and Long Visor Corrected: 4719 / 4719.dat Minifig Bicycle Frame (realigned on stand and wheels; studs are now too high) Re-matched: 70358 / 70358a.dat Electric Train Motor 9V (Complete) Custom parts: 28578 / 92851.dat Wheel Minifig Bicycle with Integral Rubber Black Tyre 35692 / 35692.dat Minifig Utensil Balloon Dog Importable: 2894c01.dat / 70358 ~Moved to 70358a 28578.dat / 28578 =Wheel Minifig Bicycle with Integral Rubber Black Tyre 31510.dat / 96874 =Brick Separator with Top Axle 31576.dat / 15279 =Plant Grass Stem 33449.dat / 93609 =Arm Skeleton with Horizontal Clip Bent 56.31 37846.dat / 93550 =Minifig Sword Rapier md5sum: 32310b043190e4d30f4fe18853f520f0
  23. Hi, Knowing your operating system (Windows? macOS?) would help. If you can’t uninstall, the simplest is to delete Studio’s files (in C:\Program Files\Studio 2.0 on Windows and in /Applications/Studio 2.0 on macOS) and reinstall Studio from scratch. If you have custom parts, it’d be wise to at least at first move them from your user’s directory and reintroduce them later when everything works. (User’s directory: C:\Users\<username>\AppData\Local\Stud.io on Windows (AppData is hidden), /Users/<username>/.local/Stud.io (.local is hidden, use Cmd+Shift+.)).
  24. Hi, You’re not alone, see this thread on the Studio forum. Simplest solution for now is to revert to the previous version (how to is explained is the thread).