LDraw.org Discussion Forums
LDCad 1.6 Alpha 2 (win+linux) - Printable Version

+- LDraw.org Discussion Forums (https://forums.ldraw.org)
+-- Forum: LDraw Programs (https://forums.ldraw.org/forum-7.html)
+--- Forum: LDraw Editors and Viewers (https://forums.ldraw.org/forum-11.html)
+--- Thread: LDCad 1.6 Alpha 2 (win+linux) (/thread-21508.html)

Pages: 1 2


LDCad 1.6 Alpha 2 (win+linux) - Roland Melkert - 2016-05-08

With my vacation coming to an end I wanted to share the latest 1.6 Alpha version as the next version might take awhile due to work etc.

Get Alpha 2 here for windows or Linux

I again only compiled the 64 bit Linux version as nobody seems to need the 32 one, if someone does need it let me know.

As this is a Alpha version it might be very unstable and backwards compatibility with the next alpha or even beta will not be guaranteed. So it is highly recommended to keep them separate from other releases.

This version includes some bugfixes and two new major features over Alpha 1:

Model level buffer exchange support.

They are applied in realtime so you will only see stuff relevant to the current building step etc, the source window will show everything but with the hidden ones in grey (just like normal hidden items). You can use all 26 buffers at once if needed.


Region select.

   

This is highly experimental/raw though and needs some usage explaining.

Start a selection using the right mouse button while the ctrl key is down.
While sizing the rectangle you can adjust the far and near clipping plane using the mouse wheel (hold shift for near.)
Currently the 'inside' tests are very rudimentary (bounding sphere/frustum tests) as this is just to get the feeling of things until everything is more worked out etc. So it probably best to test it with single part items only.


Any feedback, especially on the region selection, is highly welcome.

Edit: updated to Alpha 2a which fixes the inventory bug mentioned by Merlijn below.


Complete change log:

Code:
--==1.6 Alpha 2 (08-May-2016)==--
Fixed:
- [GUI] Fixed the button filter in the menubar config dialog.
- [GUI] Fixed select center move hints (most noticeable in the hotkey config dialog).
- [Scripts] addNewLine operations are no longer excluded from undo.
- [Scripts] Using the selection lua object will no longer cause access violation problems later on.
- [Scripts] Some minor bugfix/adjustments to the tools.lua script.
- [Editing] Canceling an item drop will no longer leave the 'selection is invisible' label behind.
- [Editing] The LDCad marker part is now again useable in its temporary state.
- [Editing] Fixed selection center move hotkeys to mimic 1.5 behavior.


Improved/Changed:
- [GUI] Most hints will now show their associated hot key. (more pending).
- [PartBin] Added icons for the newly supported meta's.
- [Editing] Selecting something without a color (e.g. a step meta) will no longer change the working color to 16.
- [Editing] Using the arrow keys etc will no longer complain about missing positional information when nothing is selected.
- [SourceWin] Hidden items are now selectable in the source window.


Added:
- [LDraw] Added support for the BUFEXCHG (buffer exchange) meta. Including visualization through the source window. The meta is only processed for models though.
- [Editing] Added experimental region select using CTRL+RMB. It's a 3D box, you can adjust the far/near clipping plane using the (shift+) mouse wheel.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a sub model that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



RE: LDCad 1.6 Alpha 2 (win+linux) - Merlijn Wissink - 2016-05-08

That's a welcome sight when coming back from holiday: a new LDCad version Smile

I'd like to try the new version, but it doesn't seem to load any parts in the parts bin. I can see all categories (without category images though), but there are no parts. The library path is set exactly the same as my main (1.5) version.


RE: LDCad 1.6 Alpha 2 (win+linux) - Roland Melkert - 2016-05-08

(2016-05-08, 18:35)Merlijn Wissink Wrote: That's a welcome sight when coming back from holiday: a new LDCad version Smile

I'd like to try the new version, but it doesn't seem to load any parts in the parts bin. I can see all categories (without category images though), but there are no parts. The library path is set exactly the same as my main (1.5) version.

Seems I broke something while adding the buffer exchange stuff, I'll try to fix it in a couple of hours.

Workaround: use a 1.5 archive version, run it once and then replace the exe and seeds folder with the ones from the alpha 2 archive.

update: I will need some more time for this, it seems while changing internal meta processing to use cached lookups I broke part of the inventory cache file stuff Smile. Like said the workaround is to let the 1.5 exe generate the inventory file first. Sorry for the inconvenience.

update2: I've fixed it and uploaded Alpha 2a.


RE: LDCad 1.6 Alpha 2 (win+linux) - Philippe Hurbain - 2016-05-10

I tested a bit area selection... Seems to behave a bit weirdly, eg. this screenshot
   
Why are the beams selected while they are not even touched by the selection marquee (small pink rectangle)?


RE: LDCad 1.6 Alpha 2 (win+linux) - Roland Melkert - 2016-05-10

(2016-05-10, 7:34)Philippe Hurbain Wrote: I tested a bit area selection... Seems to behave a bit weirdly, eg. this screenshot

Why are the beams selected while they are not even touched by the selection marquee (small pink rectangle)?
That's because:

Quote:Currently the 'inside' tests are very rudimentary (bounding sphere/frustum tests) as this is just to get the feeling of things until everything is more worked out etc. So it probably best to test it with single part items only.
It currently just tests if the bounding sphere is inside, for submodels and flat things this will be a rather large area.

I'm still doing some research on more efficient (very expensive) tight 'inside' checks.

If anyone has some ideas?


RE: LDCad 1.6 Alpha 2 (win+linux) - Travis Cobbs - 2016-05-10

(2016-05-10, 17:20)Roland Melkert Wrote: I'm still doing some research on more efficient (very expensive) tight 'inside' checks.

If anyone has some ideas?

Given that many Lego blocks are rectangular, I think adding a bounding box check for all parts that pass the bounding sphere check would be relatively fast, and improve things a lot. You can always add tighter checks later for parts that pass the bounding box check.

Another alternative is to do pixel-accurate tests, but this will only work if you are using old enough OpenGL for picking mode to be supported. I'm pretty sure that as long as you don't enable Z buffer, then picking mode can be used to find everything in the rectangle, even parts that are hidden by closer parts. But if picking mode isn't present, the pixel-color-based alternatives won't work, since they'll only tell you about the objects that aren't hidden by closer objects.


RE: LDCad 1.6 Alpha 2 (win+linux) - Roland Melkert - 2016-05-10

(2016-05-10, 17:43)Travis Cobbs Wrote: Given that many Lego blocks are rectangular, I think adding a bounding box check for all parts that pass the bounding sphere check would be relatively fast, and improve things a lot. You can always add tighter checks later for parts that pass the bounding box check.

Another alternative is to do pixel-accurate tests, but this will only work if you are using old enough OpenGL for picking mode to be supported. I'm pretty sure that as long as you don't enable Z buffer, then picking mode can be used to find everything in the rectangle, even parts that are hidden by closer parts. But if picking mode isn't present, the pixel-color-based alternatives won't work, since they'll only tell you about the objects that aren't hidden by closer objects.

Yes, I was looking at this
http://www.lighthouse3d.com/tutorials/view-frustum-culling/geometric-approach-testing-boxes/

But it could still give false positives. That wouldn't be a big problem when doing rendering culling but in the this usage case it is unwanted.

Final stage would be to test all the part's vertices to see if at least one of them is inside the region, but again it might be overlapping without any of them actually inside.

Fun stuff Smile

edit: edit: never mind.


RE: LDCad 1.6 Alpha 2 (win+linux) - Niklas Buchmann - 2016-05-10

I noticed the "Save" and "Save as" options are now disabled when there are no changes to save.

In my opinion, this should not be the case for the "Save as" option, it should always be available. One use case might be that the user wants to save the model under a different filename to have a backup or to use the current model as the starting point for a new model.


RE: LDCad 1.6 Alpha 2 (win+linux) - Niklas Buchmann - 2016-05-12

Another question:

Is it possible somehow to have clips snap to a flexible hose (technicflexSysHose-3)? I tried adding the snap info to the segement that hose is made of (ldcTechFlexSysHoseSeg.dat) but the info does not seem to get passed on to the dynamic part.


RE: LDCad 1.6 Alpha 2 (win+linux) - Roland Melkert - 2016-05-12

(2016-05-12, 17:53)Niklas Buchmann Wrote: Another question:

Is it possible somehow to have clips snap to a flexible hose (technicflexSysHose-3)? I tried adding the snap info to the segement that hose is made of (ldcTechFlexSysHoseSeg.dat) but the info does not seem to get passed on to the dynamic part.
Not yet, but it is pending.

Niklas Buchmann Wrote:I noticed the "Save" and "Save as" options are now disabled when there are no changes to save.
You are right, this is the result of the new hotkey handling which also centralized the enable/disabled state of stuff.  I'll fix it in the next version.