Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 6,110
» Latest member: RobertS
» Forum threads: 6,560
» Forum posts: 54,120

Full Statistics

Online Users
There are currently 19 online users.
» 3 Member(s) | 11 Guest(s)
Applebot, Baidu, Bing, Google, Yandex, Jeff Jones, Orion Pobursky

Latest Threads
Interesting BrickNerd art...
Forum: Rendering Techniques
Last Post: Sylvain Sauvage
4 hours ago
» Replies: 6
» Views: 182
Wolf Akita from Ninjago
Forum: Part Requests
Last Post: CrystyGarmadon
9 hours ago
» Replies: 0
» Views: 55
part for Set 8880-B
Forum: Part Requests
Last Post: Alfred Schmitz
11 hours ago
» Replies: 0
» Views: 81
New Click hinges
Forum: Part Requests
Last Post: Orion Pobursky
Yesterday, 21:50
» Replies: 16
» Views: 21,371
LDraw part 118091p looks ...
Forum: Help
Last Post: Sylvain Sauvage
Yesterday, 20:33
» Replies: 10
» Views: 253
Town, Trains and Paradisa...
Forum: Official Models
Last Post: Takeshi Takahashi
Yesterday, 16:46
» Replies: 8
» Views: 8,757
Only real-world elements ...
Forum: Parts Author Tools
Last Post: Manfred Schaefer
2026-08-15, 10:12
» Replies: 4
» Views: 633
Request for part 106597pb...
Forum: Part Requests
Last Post: danny
2026-08-15, 8:38
» Replies: 3
» Views: 979
Please add Cat, Large (Li...
Forum: Part Requests
Last Post: Magnus Forsberg
2026-08-13, 21:31
» Replies: 8
» Views: 917
Most Common Parts - 16 im...
Forum: Part Requests
Last Post: tom alphin
2026-08-13, 2:28
» Replies: 7
» Views: 1,983

 
  How to get started developing a new LDraw Editor?
Posted by: Nathan Readioff - 2019-06-15, 12:11 - Forum: General LDraw.org Discussion - Replies (4)

Hi, I’m new to the forum! I’m mainly a digital Lego builder, with a soft spot for real space and sci-fi models.  I’ve been a long-time dabbler with Lego Digital Designer, using LDraw to format models for instruction manuals and recently exploring Mecabricks and Blender for rendering.  However, since Lego has confirmed that LDD will not be updated to run on MacOS Catalina (which is dropping support for 32-bit apps) and I haven’t found any alternative Mac editors that I feel comfortable using, I’m seriously looking at the possibility of creating my own Lego CAD program - a native MacOS app, coded in Swift, using the Metal 3D graphics framework.

I’ve never actually coded for the Mac before, so I am not sure how far I will get with this.  But I used to play with the Dark Basic programming language and some low-level DirectX 9 commands, so I know the basics of high-level 3D object manipulation, and my day job is partly spent writing C++ programs. Would there be room for another LDraw editor in the community, any interest in having something for the Mac?


I also had a few questions after reading up on the LDraw file format. Please, please don’t take these as criticisms of the library, or think that I am asking/suggesting that anything should be changed, I am only asking to try and get a deeper understanding of how the format works.

Why do you use a right-handed coordinate system, with negative y straight up? The two main conventions are +x to the right, +y upwards, and +z either into or out of the screen (for left or right handed). So why was this one chosen? 

Each brick in the library is constructed from a series of recursive primitives, so what’s the best way to manage a brick in a program? Do you consider the brick as an object with multiple child limbs (with the limb structure preserving the LDraw primitive file hierarchy)? Or is it better to combine the geometry data of all of the primitives into a single 3D mesh? And has anyone ever pursued the LDD approach of hiding studs and anti-studs once they are connected, to reduce the scene poly-count?

None of the bricks contain normal data for the vertices, so how do you go about computing this? I mean, I know it’s a vector cross-product for each triangle, but how do you work out if an edge should be a hard edge (like for sides of a 2x4 brick) or a soft edge (like the rounded surface of a minifig head)? How do you go about searching the vertex data for shared edges?  (And out of historical curiosity, why wasn’t the LDraw library designed to include the normal data? Was the original intention to use flat shading only?)

What is the importance of the back-face culling commands in the file format?  Polygons can be rendered as single or double sided, but single sided is the default for performance reasons, and polygons facing away from the camera can be automatically culled by the 3D render engine.  So why does this need to be such a major part of the file format specification? Is this used to help determine which way a normal vector should point when creating a triangle?

For the ROTSTEP command, why does it specify three Euler angles for the rotation instead of a quaternion? And what’s the rotation order (x,y,z, z,y,x, …)?  Also, am I correct in assuming that REL and ABS denote use of perspective or orthographic rendering modes?

When defining parts in a model, the file format specifies x,y,z positions then a 3x3 rotation matrix.  Why isn’t a full 4x4 matrix used, so that all position, scale, rotation information could be encoded in one structure?

From looking at the Bricksmith editor, steps seem to have a default rotation of x,y,z = 31,41,21 degrees.  Why is this angle chosen, does the default ever vary from program to program?

Again, please don’t take any of these questions as criticisms of the LDraw format, I really am just trying to understand how the file format has evolved and how it works currently.


Oh, and sorry for such a huge first post, it’s turned out way longer than I expected! Smile

Print this item

  Tile 1x1 Round
Posted by: Orion Pobursky - 2019-06-15, 0:37 - Forum: Parts Authoring - Replies (25)

I'm sure I missed some sort of relevant discussion but why are the top edges rounded on the 1x1 round tile but nowhere else? It seems to me that these edges should be sharp just like every other part.

Print this item

  Forum template
Posted by: Orion Pobursky - 2019-06-14, 23:13 - Forum: Website Suggestions/Requests/Discussion - Replies (1)

With the low hanging fruit out of the way and the 1.9 update to mybb nowhere in sight, I’m gonna embark on updating the forum theme. Wish me luck.

Print this item

  Held files on PT
Posted by: Max Martin Richter - 2019-06-14, 12:24 - Forum: General LDraw.org Discussion - Replies (8)

Dear all,
everytime I scroll through the parts containing a hold vote, I'm frustrated cause there are so many unused primitives, that sit there for months and years.

Therefore I would like to suggest, that all unused primitives containing a hold vote should get deleted 6 months after both states got true.

/Max

Print this item

  Need LDPC help
Posted by: Jaco van der Molen - 2019-06-14, 11:58 - Forum: Parts Author Tools - Replies (10)

Hi all,

Recently I dove into LDPC and need some help.
Questions I have:

1. Can I use primitives in patterns?
2. Can I select more then one primitive and copy/paste/duplicate them?
3. Can I group a primitives and triangles and copy/paste/duplicate them?
4. Can I use submodels in patterns?

For example, I am creating the pattern for the laserrelector sticker from set 10266.
It has a repetative pattern of dots.
I made one dot with disc primitives and filled the gaps with triangles.
Now I want to use that dot as many times as needed, create the rows and copy them.

Attached is my work so far.

Thanks.



Attached Files
.lpc   laserreflector.lpc (Size: 54 KB / Downloads: 1)
.jpg   laserreflector.jpg (Size: 16.69 KB / Downloads: 98)
Print this item

  Add substitute part from context menu
Posted by: Victor Di Rienzo - 2019-06-12, 13:52 - Forum: LDraw File Processing and Conversion - Replies (8)

some days ago i asked trevor to add this to lpub3d now it will be available on 2.3.12 version of lpub3d



Subject
Add an option when you right click on the PLI "brick" to add Substitute part, with a dialogue to also change color, scale, camara angels etc.
The aim is to automate the following manually entered meta commands:

Code:
0 !LPUB PLI BEGIN SUB 20844c01.dat 15
0 !LPUB PART BEGIN IGN
1 15 -160 -24 20 0 0 1 0 1 0 -1 0 0 powerfunc2distsens-1.ldr
0 !LPUB PLI END
0 !LPUB PART END
[Image: 68747470733a2f2f6170702e6769746b72616b65...3338623362]
Environment
Version of LPub3D - 2.3.12
Operating system - All
Solution
Insert, update or remove part substitution meta commands via the PLI part context menu (right-click) with a dialogue to configure the following:
Primary Arguments:
  • Part type,
  • Part colour,
Extended Arguments:
  • Scale
  • Field of View
  • Camera angle latitude
  • Camera angle longitude
  • Part rotation - Using ROTSTEP arguments
NOTE: Extended Arguments are disabled when LDView 'Single Call' render option is enabled. As this option processes multiple part model files simultaneously (i.e. on a single command call), it is not currently possible to individually apply the extended arguments to each part.
[Image: 59317748-96068880-8cc4-11e9-9df0-bc8c01638309.png]
[Image: 59317749-96068880-8cc4-11e9-8792-ab7bf08fc19c.png]
[Image: 59317750-969f1f00-8cc4-11e9-9cb0-e879ab9e8d80.png]
[Image: 59317751-969f1f00-8cc4-11e9-80df-d95741532479.png]
[Image: 59317754-969f1f00-8cc4-11e9-9706-e8f4379918e1.png]
[Image: 59317755-9737b580-8cc4-11e9-9106-55a0d055aa7e.png]
[Image: 59317757-9737b580-8cc4-11e9-977b-fcf61172e6b7.png]
[Image: 59317758-9737b580-8cc4-11e9-9a5a-48b64b054117.png]
[Image: 59317942-889dce00-8cc5-11e9-90de-18e0232c82c6.png]
[Image: 59317981-b08d3180-8cc5-11e9-96ff-05ec73ca7045.png]
[Image: 59318003-c864b580-8cc5-11e9-8d39-93ca4e17e410.png]

Print this item

  Wedo2.0 cable
Posted by: 一纸飞鸢 - 2019-06-11, 3:28 - Forum: General LDraw.org Discussion - Replies (2)

为什么我的列表中没有此功能?(ELECTRIC_POWER_FUNCTIONS_WEDO2_CABLE 16)

Print this item

  [LDPatternCreator] Release 1.7.1 (better rotation / usability / triangulation)
Posted by: Nils Schmidt - 2019-06-10, 20:15 - Forum: Parts Author Tools - Replies (44)

Hi,

today, I decided to finish more features for LDPatternCreator. Here is the result!

Download and install the latest LDPatternCreator release directly from sourceforge.net.

Change log:

New features:

  • Rotation will be applied around the selected vertex which is the nearest to the cursor (except for primitives, subfiles and groups)
  • A click on "Select" cancels "Add vertex" / "Add triangle" ...
  • "Remove isolated vertices" is always visible and enabled on the toolbar
  • "Fast triangulation II" is renamed to "Create new vertices during triangle creation"
  • "Fast triangulation" is now always active by default (can be temporarily deactivated by pressing CTRL or cancelled with RMB)

Fixed bugs:
  • Fast triangulation suggested the wrong edge on longer triangles
  • A rare error occured during triangle creation

As always, I included a short readme.htm in the installation directory.


Cheers & Leg Godt


Nils

Print this item

  [LDPatternCreator] Release 1.7.0 (triangulation improvements and primitive bug-fix)
Posted by: Nils Schmidt - 2019-06-09, 12:28 - Forum: Parts Author Tools - Replies (6)

Hey,

on Magnus' and Steffen's workstations the "fast triangulation" feature was not working as expected.
I corrected the implementation and now it works better on all machines.

Download and install the latest LDPatternCreator release directly from sourceforge.net.

Change log:

New features:

  • Fast triangulation will now find the nearest edge not the nearest vertex pair. It is also more responsive.
  • Auto-corrections for primitive data when loading a file

Fixed bugs:
  • Fast triangulation did not work on some machines
  • Undo/redo with primitives broke sometimes the stored primitive data

As always, I included a short readme.htm in the installation directory.


Cheers & Leg Godt


Nils

Print this item

  [LDPartEditor] 0.8.46 Beta Released (https + ldraw.org)
Posted by: Nils Schmidt - 2019-06-08, 9:43 - Forum: Parts Author Tools - No Replies

Hi,

with this release I replaced the http-interface to ldraw.org (required for the download of ldconfig.ldr and parts from the tracker) with a solution which uses https.

I also provided an alternative 64-bit linux release since I had some problems with LDPE on another linux distro.

[Image: imgDuke2.png]
As always, you can download LDPE from this page:
http://nilsschmidt1337.github.io/ldparteditor/

Changelog:
(1 new feature and 3 bug fixes)

With this release you will be able to...

  • ...see some hints on the configuration screen when you are launching LDPartEditor for the first time.

The following critical issues were fixed:

  1. The PartReview tool got broken by the introduction of HTTPS on the Parts Tracker.
  2. The access to categories.txt and ldconfig.ldr got broken by the introduction of HTTPS on LDraw.org
  3. The program did not really quit when the configuration screen was cancelled.

What will the next release 0.8.47 deliver? clever auto-completion / context menu for the text editor / usability.



The program was tested intensively with "real world" files.
However, it is still a beta version and something can go wrong in about 140.000 lines of code.

Make sure that you choose the right architecture for your OS and Java Virtual Machine (JVM) (64bit or 32bit).
A short guide how to check if a 64bit JVM is installed on your system is located at the bottom of this message.

  1. Download the zip-Archive
  2. Extract the archive content to the location of your choice
  3. On windows, double-click "run.bat" to start LDPE.
  4. On linux/mac, you have to excecute the shell script "run.sh" to start LDPE.
Please note that this software is in the beta stage. Although, this version was tested, there are already known issues  for this release. There is a potential risk of data loss.

You can search for updates if you do the following steps:

  1. On windows, double-click "update.bat" to search for updates.
  2. On linux/mac, you have to excecute the shell script "update.sh".
I listen carefully to your requests and possible complaints. Please leave me a message, with your thoughts and wishes to further improve the software.

LDPE is a 3D CAD application: The overall system requirements are higher. While I recommend to use a powerful 64-bit multicore system, it could be possible, to run LDPE on older machines as well.

System Requirements:


Minimum System Requirements:
  • 64-bit Java Runtime Environment (JRE) 1.8
  • OpenGL 2.1 compatible Graphics Card
  • Operating System (64-bit): Windows [7 or newer], Linux [e.g. Ubuntu Linux >=14.4], Mac OS X [>=10.6]
  • CPU: Multicore-Processor e.g. Intel Core 2 Duo or AMD Athlon II (>2.0Ghz)
  • RAM: 4GB
  • Video-Memory: 1 GB
  • Free Disk Space: 100 MB
Recommended Requirements:
  • Operating System (64bit): Windows 7,8,10, Linux [e.g. Ubuntu Linux >=14.4], Mac OS X [>=10.6]
  • OpenGL 3.3 compatible Graphics Card
  • CPU: Multicore-Processor with 4 cores (or more)
  • RAM: >4 GB
  • Video-Memory: >1 GB
  • Free Disk Space: 512 MB
  • For a faster start, LDPartEditor and the LDraw™ library should be installed on an SSD.
--------------------------------------------------------------------------------
How to check your JVM version (32- or 64-bit):
--------------------------------------------------------------------------------

You can try on the command line:

Code:
java -d64 version

If it's not a 64-bit version, you'll get a message that looks like:
This Java instance does not support a 64-bit JVM. Please install the desired version.

Print this item