Jump to content
Issues with Images is known, we are working on it. ×

polymaker

Eurobricks Vassals
  • Posts

    62
  • Joined

  • Last visited

Everything posted by polymaker

  1. It seems like this is a limitation of LDD. The palette file format does not provide a way to specify which part instance to alter when the assembly contains many of the same part. I tested adding a refID attribute to the part in the palette to match the IDs in the assembly but it did not work.
  2. You are correct. LDD use some connections as collision and it is the case with type 14 (1.5mm bars). If you remove this connection it will fit inside pins but you loose connection to 1.5mm bars. Type 7 is also used as a collision so if you change type 21 for type 7 it prevents connecting 1.5mm bars (type 15). Type 21 act the same as type 7 but does not collide with type 15. In case all those number are confusing, here is a small cheat sheet: type 6: 3.5mm bar holder type 7: 3.5mm bar type 14: 1.5mm bar holder type 15: 1.5mm bar type 21: 3.5mm hollow bar
  3. Hi folks! As you may know I am the author of "Brick Studio", a tool for viewing and creating custom parts for LDD. I've been working on this project for a few years now and I'm really happy that I was able to make something that works and is simple enough to be used by anyone. I am amazed by the current community and what we managed to accomplish so far. I'm starting this thread because my software has still some issues and is missing a lot of basic features and I really could use some help. I don't expect anyone to help me code... even if my code was simple to understand (it is not) there are not a lot of you that have the knowledge to do so. But I could really use your input. The main difficulty I have is myself.. I have a hard time taking decisions and I always prioritize new ideas instead of finishing what I already started... For example, if I need to add a button/menu for a new functionality, I will fiddle around a long time just to find where I can place it or how to name it and I sometimes just abandon and move on without ever adding the functionality I'm also creating this thread to have general inputs on the software, like suggestions or issues/problems. I'm currently reworking the core of the application so it can leave the "prototype" stage and I need you help for a few points: The name "Brick Studio" is something I came up almost only as a placeholder. I was not aware at the time that there is other existing application with similar names. Should I stick with this name or I should find something more proper? I am polishing the text and messages and also adding French and German translations and I need some help with Lego vocabulary: How do you call "studs" in French and German (I'm French and I have no clue ) Are there proper terms for male and female studs? I use top/bottom at some places but for me "bottom studs" means studs at the bottom of a part, not the female connection (I hope you understand what I mean). Some data of the LDD model files (*.g) is related to the "tubes" under some bricks. Is "brick tube" a clear enough term? And how would it be translated to French/German? I am never sure if I should use the term Brick or Part. Some Lego parts are not technically bricks... Also how would you name theses 3D terms in French and German?: Model and mesh. Maybe I don't use theses terms properly but to me mesh is more related to the 3D data (vertices, triangles, etc) and model is a more global term (a model can be composed of multiple meshes) Bone. In 3D modeling, bones are used to define how a model is animated. In LDD it used for defining how a flexible part bends. All my 3D modeling experience is with English softwares. For me when I see "Os" (bone in French) it does not sound related to 3D modeling. For now I have used "Armature" (frame) in some places. That's all I can think for now. Any suggestion is appreciated.
  4. @ProfessorBrickkeeper This is actually a "feature". My algorithm considers overlapped edges as fused. This is mostly to prevent generating outlines around decorable surface that are coplanar with non-decorable surfaces (e.g. the face of a minifigure head). I plan to add more control over this process in brick studio but currently you will have to use a little trick (found by @Stephan IIRC): Simply pull apart the model in brick studio so each surfaces to outline are separated, then generate the outlines and then put them back to their original positions.
  5. Yes you are right. I didn't think of that Anyway here is the list so far: part id => replaced by 30007 => 4215 32239 => 6588 41070 => 32008 45173 => 42060 46212 => 2454 47577 => 93565 52035 => 89536 57722 => 71986 59577 => 57558 60677 => 55676 60700 => 6015 61988 => 53788 63021 => 62699 63153 => 61804 64871 => 32278 82610 => 4034 86210 => 60603 86209 => 60601 88513 => 53451 88701 => 87777 89500 => 85961 There is another set of part IDs that are checked but those are not replaced by another ID, rather they seem to have a special behavior. I'll post what I find.
  6. Well... I've reverse engineered LDD and I just found out that there is a bunch of hard-coded "aliases". I've stepped through the loading of a model file with the part 46212 and I stumbled upon this It translate to: compare memory value to B484 (hexadecimal for 46212) if the memory value is equal replace memory value with 996 (hexadecimal for 2454) otherwise continue There is a bunch of other comparisons. I will try to make a list of them all. Also I might be able to create a patch for LDD to prevent this behavior. I don't have a lot of experience doing so but I know it is possible.
  7. @suenkachun About the supported decorations size & ratio, I'm might be wrong but I'm pretty sure that it has to do with OpenGL more than LDD. LDD uses an old version of OpenGL and it is known that it does not handle well textures (images) with sizes that are not power of two (e.g. 128, 256, 512) This would explain why 1x2 and 1x4 images works be cause the width and height are both powers of two (e.g. 32 x 64, 32 x 128) But an 1x6 image cannot be loaded because it is impossible to have a number that is a power of two for both the width and height. So in theory an 1x8 image would work in LDD (e.g. 32 x 256) By the way, thank you for making me discover that LDD can load non-square texture.
  8. I've made the PNGs 1024x1024. Otherwise the text was all squished and blurred.
  9. If anyone is interested, I made these two decals some time ago: I sent the files to Stephan,
  10. When I made Brick Studio it didn't really cross my mind that it could be used on a Mac. But now I know that there is also a couple of other people using it on Mac. I remember that at some point I implemented the same camera controls as LDD but I changed it to be more like blender afterward. If I remember correctly, I wanted to make it so that you could choose the camera rotation button (middle or right) so I'm sure the code is still there. When I have some spare time I will try adding back that feature so you can rotate the camera!
  11. Hold the middle mouse button and move the mouse. And you can pan the camera if you hold "shift" while pressing the middle mouse wheel button.
  12. You are correct. I made Brick Studio with OpenGL 3. I didn't know OpenGL 2 was still a thing.
  13. Can you explain what you have found? I haven't had enough time to poke around to understand how it works. When I made the part 47996 (boat mast) flexible, on my first try it was not bending correctly in LDD (wrong direction). To fix the issue I rotated each bone by 90 degree but I was wondering if I could only edit the flexAttributes. Actually, I just re-tested the issue and it is only the Ball connections that needs to be rotated. Brick Studio generates the "flex" connections relatively to the bone orientation so that is why I needed to rotate the bones.
  14. You have found a valid work-around, but I understand that this process is a bit cumbersome. I will definitely add more control over this in the future but it was not in my priorities. But in the next release you will have a more easy solution though. I have revised my "custom" file format for Brick Studio and starting with the next version they will be plain XML (presently they are just a zip file with a custom extension containing an XML file and the meshes files). So after that you "calculate the outlines", you could save your project, open the ".lpp" in notepad, find the element for your model and delete the "<Outlines></Outlines>" tag then reload the project.
  15. No worries I was not sure if you meant to implement a way to make sphere collisions, but the LDD primitive format already supports a sphere collision element. Anyway, I cannot say that Brick Studio is well documented so I cannot blame you for not knowing
  16. Sphere collisions were available since the start of Brick Studio.
  17. I'm too exited that I needed to share it now... I managed to implement a patterning system (circular and linear). The core functionality is working well I only need to add the user interfaces to configure and manage them. Now if you are thinking "why don't you finish the existing features before working on new (unnecessary) features?" Well... I can't help it. Joking aside, I am almost done adding the part "credits" feature. Once that is done I will make a new release.
  18. I did make a flexible 19L rod but I don't know if it is my version that was used by @Stephan. The only part I sent him was the flexible mast (47996) for the milenium falcon. I think there are some parts that were taken directly off my github. Anyway, I went and checked my version and it has the issue. While on the subject, I need the help of you guys... Since the start of LDD Brick Studio I wanted to add a feature to add credits and a changelog to the parts. I never got around to do it because I can't decide between an easy solution or the "perfect" (overengineered) feature that I have in my head. The dead-simple solution is to have a text area (somewhere in the UI) that would write as a comment in the xml file. I know that this solution is perfectly fine, but I don't like the idea of having a "free for all" text area. Parts of me want to enforce some "structure" so files made anyone will all have the same structure. What I mean by that is to have a kind of template, like "Created by: <name> <date> Last edited by: <name> <date>" etc So what do you guys think? Does a simple textbox does the job or it could be useful to have a kind of software enforced template text?
  19. @M2m I had the idea that the library I was using did not support FBX but I checked again and it looks like it is supported. I don't have any FBX files at hand to try but when importing choose "All files (*.*)" and then select an FBX file to see if it works.
  20. @zweifuss You actually found the correct way to do flexible parts at the moment. You are also right, I haven't made (yet) the options to add or connect bones together. So for now the only way is to import a model with a proper bone chain. Also I found something that may be interesting. While I was trying to do the same part as you (32201) I messed up the bone chain in Blender and I ended up having two bones connected to one. I was not aware that I had the mistake when I loaded it in LDD. It was not working properly in LDD so I guessed some data was wrong (I was still working on making flexible part editable in Brick Studio and there was indeed some incorrect data in the file). I later found out and fixed the bone chain but I realized that LDD DID load the part without crashing! So it might be possible to have branching bone hierarchy.
  21. Hi guys! I wanted to let you know that I have started a Wiki on my Github and I will post useful information and tutorials for Brick Studio. For now I only have a page about brick outlines and how they works. The page is still in progress. After I finish the page on brick outlines I will make one about flexible parts.
  22. Good trick! The outlines do not appear by default because my algorithm thinks that the faces are "smooth" enough. This behavior is needed in certain cases. For example, the part of a minifig head that can have a decal is a different surface than the rest of the head, but it does not have outlines around it. But in some case outlines are needed on surface that are flat (I remember that one electric part use outlines to mimic text print). I will add a window to configure the angle tolerance and also to select the surfaces that needs outlines even if they are flat/smooth with other surfaces.
  23. Hi guys! I have finally made a new release for Brick Studio. You can download it here. A lot of stuff has changed internally in the software and while I played a lot with the new version there is the possibility that I broke some stuff. If you encounter any problems don't hesitate to let me know!
  24. The capping check boxes are for the "startCapped" and "endCapped" attributes used by Axel and Slider connections. To explain simply, when enabled, it acts like a collision at the start/end to prevent parts from going further. The grabbing check boxes are a little more "tricky", they represent the "grabbing" and "requireGrabbing" attributes of Axel connections. The tricky part is that unlike the previous attributes, the Axel connection has either the "grabbing" attribute or "requireGrabbing" but never both. I don't know what is the difference between the two and I also never experimented to understand what it does in LDD. Both attributes can be true or false, so in Brick Studio I made the "Is grabbing" check box control the value (true/false) and the "Is grabbing required" control which attribute is used (grabbing / requireGrabbing)
×
×
  • Create New...