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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 4,973
» Latest member: wencan
» Forum threads: 5,975
» Forum posts: 50,582

Full Statistics

Online Users
There are currently 596 online users.
» 2 Member(s) | 591 Guest(s)
Applebot, Bing, Google, Philippe Hurbain, Rene Rechthaler

Latest Threads
Molded Dinosaur parts
Forum: General LDraw.org Discussion
Last Post: Hageta
2 hours ago
» Replies: 4
» Views: 132
Why isn't there a Plate 2...
Forum: Help
Last Post: Gerald Lasser
4 hours ago
» Replies: 1
» Views: 61
Parts I would like to see...
Forum: Parts Tracker Discussion
Last Post: JeroenDeMeloen
7 hours ago
» Replies: 0
» Views: 46
suppressing edge lines in...
Forum: Official File Specifications/Standards
Last Post: Chris Böhnke
7 hours ago
» Replies: 1
» Views: 95
Plug34.dat and related pa...
Forum: Parts Authoring
Last Post: Jeff Jones
Yesterday, 19:52
» Replies: 51
» Views: 19,189
Parts we are Working on -...
Forum: Part Requests
Last Post: Jeff Jones
Yesterday, 17:00
» Replies: 153
» Views: 110,108
New disco prims?
Forum: Parts Authoring
Last Post: Rene Rechthaler
Yesterday, 16:01
» Replies: 5
» Views: 425
LDraw.org 2025-04 Parts U...
Forum: LDraw.org Announcements
Last Post: N. W. Perry
Yesterday, 15:33
» Replies: 1
» Views: 191
No/minimal parts in Parts...
Forum: LDraw Editors and Viewers
Last Post: Roland Melkert
2025-04-27, 18:19
» Replies: 2
» Views: 142
Part 69859pb02 (Surtur's ...
Forum: Part Requests
Last Post: Philippe Hurbain
2025-04-27, 15:01
» Replies: 3
» Views: 205

 
  Auto correcting (some) defects in the official library
Posted by: Roland Melkert - 2014-11-15, 22:20 - Forum: Official File Specifications/Standards - Replies (52)

Like mentioned in some of the other threads, the current official library suffers from a number of defects which can be corrected automatically but can be somewhat of a pain to new software trying to use the library.

It also has been suggested many times most of these errors can be fixed using an automated process.

So I did a quick hack in the LDCad 1.4 code to make it possible to save corrected .dat files back to disk, this resulted in about 116 corrected .dat files.

Only downside I noticed is the loss of some indenting (only for the corrected lines, as LDCad preserves unmodified line content).

I also noticed some minor mixed dos/unix line endings which are indirectly auto corrected for any file that needed rewriting.

This test includes only 'hour glass quad' corrections, but with some additional tweaks I can also auto correct:

case mismatches
non flat triangles
quad with duplicate point (degrade to triangle)
all zero row or col ref matrix
type 5 line with missing or duplicate control points (degrade to normal line)


Should I continue my tweaks, and compile a patch containing all changed files so someone else can double check and merge them into the part tracker?

If so which corrections are actually wanted, and or which additional correction would be needed/wanted.

ps: this topic might be better off in the part authoring forum, not really sure though, admins feel free to move it.

Print this item

  Ring8.dat
Posted by: Knud Ahrnell Albrechtsen - 2014-11-15, 6:23 - Forum: Part Requests - Replies (1)

Hi

I have been using Big Ben Bricks Wheels parts in MLCAD for some time now.
When I entered my model into LDView I noticed it complained about a missing part - ring8.dat.
I Can't seem to find it anywhere.
Does anyone know what to do about this?

Print this item

  Connection Database
Posted by: Nicholas Zurn - 2014-11-14, 21:01 - Forum: Official File Specifications/Standards - Replies (1)

What ever happened with the "LCD - LDraw Connection Database"?? As seen here.


Seems like this would have been a good thing.

Print this item

  2552px2
Posted by: Damien Roux - 2014-11-09, 18:03 - Forum: Part Requests - Replies (7)

Hi all,

I'm desperately try to find good picture on the net for 2552px2
[Image: 2552px2.jpg?0]


I've posted a thread in Eurobricks forum, will see the results.

However, is there someone here that own the part, or that know someone who own the part, that can provide my good picture of the 5 surfaces (front, back, right, left and top)?

This is the only part I'm missing to complete the Blacktron II series.

Thanks in advance.

Print this item

  Official parts with errors/typos
Posted by: Mario Pascucci - 2014-11-09, 10:14 - Forum: Parts Authoring - Replies (25)

Hi all.

Working on coding some Java libraries to handle LDraw libraries I hit some parts with errors. Following a brief list with errors/typos I found:

* 3842a.dat uses BFC CERTIFY INVERTNEXT
* 3842b.dat uses BFC CERTIFY INVERTNEXT
* s\3068s101.dat uses color 391 (unknown)
* 973psk.dat uses color 391 (unknown)
* 4150p02.dat uses color 354 (unknown)
* 973p7b.dat uses color 354 (unknown)
* s\2528s01.dat at line 385 there is a triangle with 4 vertices
* s\6582a.dat all quads are "bow-tied"
* s\6582b.dat all quads are "bow-tied"
* s\6580a.dat all quads are "bow-tied"
* s\6581a.dat all quads are "bow-tied"
* s\6594a-c.dat all quads are "bow-tied"
* s\6595a-d.dat all quads are "bow-tied"
* 2907.dat some quads are "bow-tied"
* s\6579a.dat all quads are "bow-tied"

HTH
Mario

Print this item

  1-16chrd, an interesting idea...
Posted by: Philippe Hurbain - 2014-11-09, 9:02 - Forum: Parts Authoring - Replies (58)

Following Darats idea exposed here

Quote:I wasn't able to use chrd primitives cause there's no 1-16chrd.
So it doesn't look really nice with primitives substitution.
...I made a quick try: I copied 48/1-16chrd to p folder, removed the only quad it contains and inserted the file into Homer donut.
Here is the result with primitive substitution (1-16chrd was added only on top).
   
Comments?

Print this item

  LDview .ldr parts missing / weird placement, LDD flexible grease band
Posted by: Fabian - 2014-11-06, 3:19 - Forum: LDraw File Processing and Conversion - Replies (7)

Hello.
I use the LDD for two weeks now and use the LDView to convert the lego models in a format for 3d programs.

Sadly the .ldr (lego draw) file format doesn't save some blocks and flexible things.

Is there a possiblity to get all blocks and flexible stuff into LDview or a other program where I convert it into a 3d format ?

Is it possible to get the .lxf file in a 3d program or can I convert the .lxf file straight to a 3d format ?

In the LDD, is there a flexible grease band ?

Here is a example how I want to apply the grease band:
[Image: b3sm924d.png]


Also sometimes if I've rotated a view blocks in the LDD, some parts in LDview are rotated/placed weird.

Here is a picture of it:

[Image: i47vag6o.png]

I hope some people could answer my questions Smile

Print this item

  Part Request - 46453
Posted by: Eric Albrecht - 2014-11-05, 18:27 - Forum: Part Requests - Replies (5)

I feel guilty for requesting such a rare, complicated, and useless part, but I need it! This is the "Technic Engine Tuneable, Block with Trapezoidal Air Scoop" used in a couple of Racers models.

[Image: 46453.jpg?0]

Print this item

  Introducing a second HL library?
Posted by: Roland Melkert - 2014-11-04, 23:12 - Forum: Official File Specifications/Standards - Replies (57)

With all the recent commotion I'm thinking it might be useful to introduce a second 'official' LDraw library.

It would be identical parts wise as the master one, but all parts will be formatted in a single .dat using universal winding etc. We could also add normals to those single files without polluting the master LDraw library.

I would basically be a collection of pre calculated cache files. This library could even be made available in e.g. .obj format.

Anyone think this is worth a second look / go ?

Print this item

  Adding normals to the library
Posted by: Nicola - 2014-11-04, 13:31 - Forum: Official File Specifications/Standards - Replies (16)

So as I previously said about normals: no other single file format i've seen leave out normals to be computed by the user. There's absolutely no reasons not to include them. They're integral part of a geometry definition. Why forcing every single developer to reinvent the wheel, to spend countless hour on a custom smoothing algorithm? Algorithms that are already usually complicated, but more so for ldraw where definitions are sparse in multiple files, and one have to take into consideration hard and cond lines. I'm not a newbie of 3d programming (not a genius either by all means), and yet i've spent days trying to implement this algorithm and have yet to succeed. Of course i could spend some other weeks and do it, but why? And even if i did, we'll end up with many different programs, each one with its own algorithm, all slightly different, all buggy in a different way and with no consistency at all.

Updating all the library in not an easy task, but i think it can be done in a way that doesn't break compatibility and permits automatic data entry.

First off, i propose to add a new comment/command, with a standard sintax as follow:

0 NORMALS v1x v1y v1z v2x v2y v2z v3x v3y v3z [v4x v4y v4z]

It will be prepended to all quads and triangles, and will have three or four vertex definitions. Of course each one is the normal at the corresponding vertex of the face, in a per-vertex, per-face paradigm that is usually the standard.
Being a new comment, it will not cause any problem with existing software. Editors working with parts will not have any problem. Editors that write tri and quads may break the file but should not crash or misbehave themselves, and the user should be able to act on the problem. Hard and conditional lines can (and must) stay there of course.
New software developers can take advantage of the normals to achieve an uniform look across different renderers and saving weeks of head banging.

Now the delicate part: this solution assumes that any face have the same normals regardless of where it appears, or in other words that each single subpart/primitive always assume the same normals. But it may be that the same subpart can have different normals depending on the rest of the part it is attached to. If this is indeed the case, than it derives that it's impossible to add normals to a subpart as it can vary.
I'm not sure about this, intuitively each 3d shape should have its normals regardless of what it has around. Much of this maybe depend on the granularity of the subparts, how much down they break a solid. I remember that the primitives breask down even to 2d figures, which will need to be adressed somehow. In the worst case, the primitives would need to be rethinked with normals in mind.

How to popolate the library with normals

Ok, the problem of course is to inject all the normals in the already existing library. As the previous post, my solution is to take an existing smoothing algorithm, elevate it as the standard, and apply it to the whole library.

Basically it would work on a per-part basic. It will load the part and all the subpart into a canonical 3d model data structure, but mantaining a correlation between each face and the file/line that generates it. It will then apply the smoothing algorithm to the part, then traverse all faces and use the correlation to write them back in the source text. Of course some subparts will already have normals calculated (since they're shared), in this case the subpart can be skipped (or take advantage of the occasion to check if the would be calculated the same way).

Ok course normals are useful only if they're available on the whole part library (if a developer need to implement a smoothing algorithm for a single part, he may as well do it for the whole Smile ), this of course means that the library will grow in size, but i hope this is not an issue. Only subparts with actual faces will grow, but most of them should be reusing already defined chunks so will not grow. Eventually some optimization can be implemented (such as inserting a single vector instead of 3/4 if the face has uniform normals).
I'd love here some feedback for this humble proposal

Print this item