Jump to content

polymaker

Eurobricks Vassals
  • Posts

    62
  • Joined

  • Last visited

Everything posted by polymaker

  1. Hi guys! I'm eager to announce that a new version of Brick Studio is almost ready for release! I just need to do some clean-up and it should be ready around next week or so. Here are the main points of interest of the next release: Editing flexible part is now functional! While it works, it is still a bit raw and you must know what you are doing to make it work. I will try to make a tutorial. You can now properly edit all connection properties! I finally got around to complete this feature. You can now hide stuff with hotkeys. Works like blender ( H to hide the selection, Shift+H to hide everything but selection and Alt+H to show everything) You can now also delete stuff with the Delete key when the focus is in the view editor. I also added some validation when deleting referenced elements. Also I wanted to take the opportunity to let you know that if you have any problems or have suggestions for the software, please create an issue here to let me know. Thanks!
  2. Well, due to how LDraw works, most model imported from LDraw suffers from bad geometry and needs some work. And due to difference between LDraw and LDD units some scaling is required. I think @Equilibrium posted a few tips before on how to optimize a model for LDD (and Brick Studio for outline generation). I personally use the high-definition setting when importing. Beside that I do a lot of adjustment manually. If I have the spare time someday, I would like to make a video tutorial to show how I create bricks from blender to Brick Studio
  3. I was reading through this thread and I found a couple of post where people tried to add materials in the color palette. I was curious and after a few tries I think I found how it works. The color palette in standard mode seems to be a distinct list of all material used by bricks in the palette (ldd.lif). So I added a new material in the file "Materials.xml", then extracted the LDD.lif and added a part with that material in the file "LDD.paxml". Then in LDD it showed under the label "Legacy" in the color palette. This is what happen when the material ID is not in the file "CurrentMaterials.xml". For Extended mode, we simply need to add a line with the material ID in the file "MaterialSelector.xml" found in the LDDExtended.lif. And contrary to what one user said, it works perfectly by just extracting the palettes lif's into a directory. I know that back when the LDD servers were running, LDD would delete extracted palette folders and re-download the lifs. I discovered that you could put a setting in the preference.ini to avoid that but since LDD is now offline this behavior has stopped. So maybe he was referring to that.
  4. His model has some artifacts from LDraw import, like bad topology around studs and holes**, but the top surface has no problems. (** applies to part 30116) I don't understand why my algorithm has issues with the top because it has a simple enough topology. About the outlines on each "facets", this is mostly because the algorithm is hard-coded with a 35° tolerance (between the normals of the two face of an edge) to detect "hard" edges to outline. So in the case of the part 30320, the top surface "facets" looks like they have less than 35° of difference, so no outlines are produced. I plan to make this value customizeable in the near future. In fact there is a bunch of other useful settings and parameters that are hard-coded at the moment because I have not come around to finish the settings management system and interface (UI). Also for the moment my programs always recalculates the outlines but when I'm done it will keeps the original data when a model is imported from LDD, with the option to force an update if the outlines had issues.
  5. Hello guys, Someone recently contacted me by email about an "issue" with my software that made me discover something. Due to a language barrier, it turns out it was not with my software but he was talking about exporting LDD models with custom parts to LDraw. I then decided to look at the "ldraw.xml" file for the first time and I discovered the file has transforms specified to correctly place parts in LDraw since most part have different origin and orientation in LDD. So it made me wonder if we should also maintain this file.
  6. Yeah for flat parts it works OK but for more complex shapes it is not as simple . For example I'm trying to make the cockpit for 75192-1: Millennium Falcon
  7. Talking about decorations... Does anyone knows if it is possible to convert LDraw decorations to images (PNG)? From what I remember when looking into it, LDraw decorations are actually a bunch of manually drawn shapes in 3D. Could it be possible to import those shapes into blender and by some manipulations flatten them and then render them into a flat image?
  8. In Brick Studio (my software) there is a button to automatically calculate the bounding boxes in the part properties tab.
  9. If I am not mistaken this can happen when the bounding box information is not set properly in the xml.
  10. @zweifuss Can you send me your files for 65617? I'll try to look into it but I'm not an expert yet on how each Custom2DField values works. As you can see in the file on my github, I have documented only a small fragment of all the possible values so there is a lot left to understand. But as you have discovered, the connections also have some collisions attached to them but they are handled internally in LDD. Some Technic connectors also conflicts (e.g. you cannot place a technic bushing on the handle of part 32828 because of the thin hole connector for feathers or mini-figures accessories)
  11. I was gonna ask if it was just me! I found this part while trying to make a part flexible. I have exported the model to blender and from what I can see the bone weights are totally wrong. Making flexible parts is not (fully) functional yet in my software but I'm working on it, I'll fix this part as soon as it is ready. Here is my recent progress on that matter: Finally we will be able to complete the millennium falcon set!!
  12. Is the 19M one flexible by default (from LDD) or is it custom made? Because I remember making a part flexible and in my git repository I have a folder with that part. Anyway, flexible part are not yet fully supported in my software and currently the bone weights are not imported. I recently made a breakthrough and I now understand how the "flexCheckConnection" attribute works for flexBone element. I'm am currently working on making flexible part editable in my software.
  13. Before answering your question, I just want to explain what is the file "connector usage.txt". I generated this file by reading all the standard LDD primitive XML, listed all the possible connection types and then generated a list of (maximum 10) parts using them for each type. So this file does not contains all possible parts but does list every possible connection type. I use this list to help me "put a name" on the connection types and to find out with what they connect to. I put this information in a separate file named "Primitive connectors.xml". Now back to your question, I haven't done the test myself but it may be possible that Fixed and Hinge connections use arbitrary numbers. There seems to be a pattern in the number used, even numbers are "female" connections and odd numbers are "male" connections. For example, a type 2 Fixed connection is a "Tire Ø11mm" and type 3 Fixed connection is a "Wheel hub Ø11mm". So my guess is that an even number "X" will connect with "X+1". You could try using a Fixed connection type 160 for your tire and a Fixed connection type 161 for your hub and check if it works in LDD.
  14. I had an idea a while ago about making a small "auto-updater" software that would download the latest version from a git repository and configure the DB.lif for new users. In theory it should be easy enough to program but for the sake of "user-friendliness" it should also work on Mac OS but I have no experience making cross-platform software.
  15. No sadly, I haven't had the time to do that. I may do a video walk-through in the future but for now you have to poke around and experiment.
  16. Fun fact: If you enable logging* in the preference.ini (Verbose=1) you will see that there is a bunch of part that cannot be loaded from the LDD palette (ldd.paxml). It turns out that most of them are actually alias ID of existing bricks, which means that the aliases in the primitive XML are not used. * The log is written to a file named "DCLTrace.txt" inside the "LEGO Company" folder. Another fun fact: If you manually put a sub-assembly part in the LDD palette file (e.g. suspension body or piston) it will not load in the palette as long as there is an assembly using this part. A quick and dirty solution to this is to create an assembly with the same ID as the part and only have the part inside.
  17. I've just found out that "Studio" was not referring to my software (Brick Studio) I tried it real quick and it looks great! It may be a little off-topic but are there some things that LDD does better than Studio? From what I've seen so far, it has connections and collisions, and is actively maintained. So I'm wondering if there's still any reason to keep using LDD.
  18. The outlines are only an aesthetical feature that can be turned off. It serves no other purposes. My guess is that it was intended to simulate bevels (rounded edges) and tolerance gaps. If you make a solid brick wall without the outlines enabled, you'll only see a solid wall whereas in real life you can easily see each distinctive bricks.
  19. You're welcome and thank you! For now there is not much you can do. About the line that is falling-off, I think it has to do with "hard-edge" detection. When the face normal of the adjacent faces of an edge have more than 35 degrees of difference the edge is considered "hard" and surrounding triangles will have outlines. My bet is because of the bevel the difference is less than 35°. I will make this number configurable in the near future. I'm also working on a better algorithm. I am also thinking of a way to allow to select the hard edge manually but for this I need to implement edge-picking with the mouse and I have other things to finish before that. But yeah, generating the outlines is not an easy task. I explain it a little in the documentation on my github but the outlines are actually a texture with a line that is mapped to each triangle. Each triangle has 6 possible mappings divided in three pairs that controls if the textures are combined by union or intersection.
  20. I thought I made it possible but it looks like I forgot to do it! It will be possible in the next release.
  21. I vote for it too i love the idea! But at first glance it look a bit complex to implement and I don't have the spare time in the moment. But with the current version of Brick Studio you can easily (enough) move, rotate and scale collisions with the 3D editor (or enter them by values in the textboxes). You can also duplicate collisions with an option in the right-click menu. I also had in mind to implement someday a feature to make linear/radial repetitions like some CAD software do. It would be helpful for circular parts when you need to place multiples box in a circle.
  22. I found the issue with 41865 and 42862 and it weird that LDD does not bother but the two files have a Custom2DField that has an extra comma at the end and my parser does not like that. Il will add error handling but it should be fixed anyway I think (in the xml I mean).
  23. Weird, it should list the bricks found in the LDD primitives folder. By any chance, do you have the db.lif un-extracted beside? (I ask but I don't think so cause LDD would use it and you would not see your custom parts) I'll look into it. Sadly I haven't finished the window/panel to edit the connections. For now you must edit them manually in the xml. As for the subtype numbers, have a look at the documentation I started: https://github.com/Polymaker/ldd-modder/blob/develop/Documentation/Primitive connectors.xml
  24. Here is the promised release: https://github.com/Polymaker/ldd-modder/releases/tag/v0.2-alpha If anyone has issues or questions don't hesitate to hit me up.
  25. Yup I agree. And by the way I also have a neat LIF Viewer/Extractor in the works: And if you are perceptive you can see that it can also edit (and create) LIF files!
×
×
  • Create New...