LDraw.org Discussion Forums
LDCad 1.7 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.7 Alpha 2 (win+linux) (/thread-26349.html)



LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-05-14

Hello all,

It took more time than planned (again) but I finally managed to finish LDCad 1.7 Alpha 2.

It has stacks of tweaks and a couple of stability bug fixes.

For this version I concentrated mostly on animation and scripting by introducing interactive animations.

The new example model includes such an animation.

   

Some of the new things:
- Interactive animations.
- Part count down in 'basic' groups (only for items with a set count property).
- Improved part texture handing (incl reloading if changed externally).
- !HELP indication in the part bin.
- More flexible grid rotation stepping.
- 2D view exports.
- Improved the glTF export.
- Many many small tweaks/extensions/changes/etc. See changeLog.txt for the full list.


This is an Alpha and not a Beta because I rewrote some of the low level code, namely: threading, string/number conversions and the pos/ori property dialog.

I would like these changes thoroughly tested before exposing new users to it.

So be sure to make backups of your work before changing them with this Alpha version.

The new version can be downloaded here:
http://www.melkert.net/LDCad/nextVer


RE: LDCad 1.7 Alpha 2 (win+linux) - David Manley - 2022-05-14

(2022-05-14, 0:05)Roland Melkert Wrote: Hello all,

It took more time than planned (again) but I finally managed to finish LDCad 1.7 Alpha 2.

It has stacks of tweaks and a couple of stability bug fixes.

For this version I concentrated mostly on animation and scripting by introducing interactive animations.

The new example model includes such an animation.



Some of the new things:
- Interactive animations.
- Part count down in 'basic' groups (only for items with a set count property).
- Improved part texture handing (incl reloading if changed externally).
- !HELP indication in the part bin.
- More flexible grid rotation stepping.
- 2D view exports.
- Improved the glTF export.
- Many many small tweaks/extensions/changes/etc. See changeLog.txt for the full list.


This is an Alpha and not a Beta because I rewrote some of the low level code, namely: threading, string/number conversions and the pos/ori property dialog.

I would like these changes thoroughly tested before exposing new users to it.

So be sure to make backups of your work before changing them with this Alpha version.

The new version can be downloaded here:
http://www.melkert.net/LDCad/nextVer

Downloaded it successfully and tried the interactive animation. That works nicely.

David


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-05-15

This is a very exciting update, yay! Thanks for all the new features and suggestions added in. Your new TEXMAP icons make me smile. Smile


RE: LDCad 1.7 Alpha 2 (win+linux) - Sam Potter - 2022-05-20

is there a way to see the part "dat" source file, in ldcad?

also is there a to easy way to add a reference images for modeling? (beside generating a sticker with stickerGen) if not can you please add that ability. 

thanks


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-05-20

(2022-05-20, 17:58)Sam Potter Wrote: is there a way to see the part "dat" source file, in ldcad?

Yes, you can open a Source Window to see the actual file content (albeit somewhat curated—for example, it doesn't show all the group or flexible part metas).


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-05-20

(2022-05-20, 17:58)Sam Potter Wrote: is there a way to see the part "dat" source file, in ldcad?

also is there a to easy way to add a reference images for modeling? (beside generating a sticker with stickerGen) if not can you please add that ability.

Like described above, you can use the source window for this.

But has been mainly designed for use with models.

To view parts you'll need to enable part editing from the prefs/editing menu first.

Once enabled you can double click a part in a model to 'edit' it, or use the wrench icon inside the part bin.


As for the background I've put this on my Beta 1 todo list (I did see your email about it, forgot to reply Blush  )


RE: LDCad 1.7 Alpha 2 (win+linux) - Johann Eisner - 2022-05-24

Hi Roland
Thanks for the new version.
I am not sure, if this problem already is known.
When exporting a step to OpenGL view, and there is a buffer exchange,
then all parts the are stored in the buffer aren't showing in the export picture.

For example:
Screnshot with snipping tool
   

and OpenGL export
   


Only tested with 1.7 Alpha 1 and 2.


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-05-25

This might be a bug: when I export the "parts in model" bin from this model, it misses the two bricks in the last step. But if I move that whole step so that it isn't the last step, then the export includes all the parts in the model. (So it's not just missing, say, the last step in the model.)

.ldr   700.1 v2.ldr (Size: 4.85 KB / Downloads: 1)

A second thing: I'm so thrilled to have part bin countdown now! Big Grin But I would like to have, at least as an option, parts with zero count still appear in the bin. Right now I can see parts if I haven't used them up, or have used too many. (Though I also appreciate the logic of having a part disappear from the bin when I've used it up.)


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-05-25

Whoops, I'm getting a consistent crash now. It seems to be related to the part bin. Backtrace and a log file are attached.

Things that will trigger it are navigating into any set content part bin, but also opening a recent file or a file from disk. A new file will not trigger the crash.

One recent suspicious thing is that I moved the alpha 2 folder from my desktop into Applications. Then I noticed it appeared to try to re-create the alpha 2 folder on the desktop, with only some part bin files in it. But that does not happen every time.

EDIT: Moving the program folder back to the desktop seems to fix it. So I guess some resource somewhere is being looking for an absolute path to the desktop, and crashing when the folder isn't found?


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-05-29

(2022-05-24, 18:27)Johann Eisner Wrote: When exporting a step to OpenGL view, and there is a buffer exchange,
then all parts the are stored in the buffer aren't showing in the export picture.

I will look into this.

Could you share the model with me?


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-05-29

(2022-05-25, 2:51)N. W. Perry Wrote: This might be a bug: when I export the "parts in model" bin from this model, it misses the two bricks in the last step. But if I move that whole step so that it isn't the last step, then the export includes all the parts in the model. (So it's not just missing, say, the last step in the model.)
I will look into this.

edit: It has to do with part count down using the wrong inventory (parts in step, so 2 in step and 2 used > zero parts > hidden Smile ). I think it's a leftover from an early test.


(2022-05-25, 2:51)N. W. Perry Wrote: A second thing: I'm so thrilled to have part bin countdown now! Big Grin But I would like to have, at least as an option, parts with zero count still appear in the bin. Right now I can see parts if I haven't used them up, or have used too many. (Though I also appreciate the logic of having a part disappear from the bin when I've used it up.)
I'll make it an option


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-05-29

(2022-05-25, 18:09)N. W. Perry Wrote: Things that will trigger it are navigating into any set content part bin, but also opening a recent file or a file from disk. A new file will not trigger the crash.

I was able to replicate it, it seems to be caused by items with a negative color number in the set pbg.

This might (also) be a ldraw cbr generator issue?

Shouldn't crash LDCad ether way though.

Disabling part count down will 'fix' it too.


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-05-29

(2022-05-29, 21:16)Roland Melkert Wrote: I was able to replicate it, it seems to be caused by items with a negative color number in the set pbg.

This might (also) be a ldraw cbr generator issue?

Shouldn't crash LDCad ether way though.

Disabling part count down will 'fix' it too.

Weird. Where would a negative color number come from? I couldn't find any in the pbg's I was using around that time.

I also meant to add, I was able to get rid of the crash by moving the alpha 2 folder back onto the desktop. And also, I realized that I had two instances of LDCad in my trash, and it appears the program was still launching from one of them, so it was not writing config files (like part bin) to the right directory. I emptied the trash and re-pointed the Wine preloader to the right instance and had (almost) no crashes after that…


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-01

Here's two things I've noticed:

1) I'm getting a consistent misbehavior when I edit property dialogs, like editing the pos/ori of a part. Using return or enter no longer commits the changes, it only closes the dialog.

Sometimes, if I edit more than one field, it will commit all but the last one. So if I adjust the X and the Y coordinate, then hit return, it will commit only the X coordinate.

This is definitely new to this alpha.

2) I've assigned a hotkey (the newly available ` key) to hide the editing compass. (Love that feature, by the way. Is there a menu command for it?) But it seems like the hiding is at the global level, but unhiding is at the session level? In other words, I hid the editing compass only once, but I seem to keep having to un-hide it on different submodels.

I do think it should be global, by the way, along with other things like part snapping or grid on/off status. I can't really keep track of the state of these settings across different subfiles…

Just a note, this update is probably my favorite since I started using LDCad. So many handy new features, so thanks! Smile


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-01

(2022-06-01, 14:34)N. W. Perry Wrote: 1) I'm getting a consistent misbehavior when I edit property dialogs, like editing the pos/ori of a part. Using return or enter no longer commits the changes, it only closes the dialog.
This probably a result of the new 'anti rounding error changes detection' code.


(2022-06-01, 14:34)N. W. Perry Wrote: 2) I've assigned a hotkey (the newly available ` key) to hide the editing compass. (Love that feature, by the way. Is there a menu command for it?) But it seems like the hiding is at the global level, but unhiding is at the session level? In other words, I hid the editing compass only once, but I seem to keep having to un-hide it on different submodels.

new sessions always use the state of the current one. You can change this behavior in the edit settings.


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-01

(2022-06-01, 15:18)Roland Melkert Wrote: This probably a result of the new 'anti rounding error changes detection' code.

That could be. Most of the changes I'm making are very small. And it doesn't happen every time, so maybe those are the times that I make bigger changes. I'll try and notice this.

Quote:new sessions always use the state of the current one. You  can change this behavior in the edit settings.

Ah, yep, there it is. Another feature that's been there all along and I only just found out. I even spotted that option the other day and thought, "that might be useful!" Wink

(Truth is, I was probably thinking of "new session" like "new subfile". I'm still not used to editing a subfile that's already loaded, and that being a separate session.)


RE: LDCad 1.7 Alpha 2 (win+linux) - Orion Pobursky - 2022-06-03

I noticed that you changed the !LICENSE line choices. While I haven't released formal guidance yet since I decided to wait on implementation, there will be 2 new lines and the old line (0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt) will be depreciated and eliminated from the parts library:


Code:
0 !LICENSE Licenced under CC BY 2.0 and CC BY 4.0 : see CAreadme.txt
0 !LICENSE Licenced under CC BY 4.0 : see CAreadme.txt

The bottom line being the default for anything new
The top will only be used for the specific case where an author has not responded to agree to the license update. This option should not be user selectable.


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-03

(2022-06-03, 4:19)Orion Pobursky Wrote: I noticed that you changed the !LICENSE line choices. While I haven't released formal guidance yet since I decided to wait on implementation, there will be 2 new lines and the old line (0 !LICENSE Redistributable under CCAL version 2.0 : see CAreadme.txt) will be depreciated and eliminated from the parts library:

Code:
0 !LICENSE Licenced under CC BY 2.0 and CC BY 4.0 : see CAreadme.txt
0 !LICENSE Licenced under CC BY 4.0 : see CAreadme.txt

I mentioned this somewhere before, but according to the Australian Oxford Dictionary, the verb is spelled "license" whereas the noun is spelled "licence".


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-04

(2022-06-03, 4:19)Orion Pobursky Wrote: I noticed that you changed the !LICENSE line choices.

Yes, but those are only the default suggestions, you can type anything you want.

The list is also stored/editable in main.cfg.

I will change the defaults to what you suggested.


RE: LDCad 1.7 Alpha 2 (win+linux) - HWQ - 2022-06-07

乐高套装中的乐高零件数量在使用后不会减少
  Sad Confused


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-07

(2022-06-07, 20:19)HWQ Wrote: 乐高套装中的乐高零件数量在使用后不会减少
  Sad Confused

You need to enable the option (right click on a bin)

Also it's only applied to groups containing static items with a known start count.


RE: LDCad 1.7 Alpha 2 (win+linux) - HWQ - 2022-06-09

(2022-06-07, 20:57)Roland Melkert Wrote: You need to enable the option (right click on a bin)

Also it's only applied to groups containing static items with a known start count.

great, this is useful,i ignored it,thx


RE: LDCad 1.7 Alpha 2 (win+linux) - Orion Pobursky - 2022-06-09

Not related to this Alpha but is there any functional difference between duplicating a part/selection with Ins vs. Ctrl-D


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-09

(2022-06-09, 2:54)Orion Pobursky Wrote: Not related to this Alpha but is there any functional difference between duplicating a part/selection with Ins vs. Ctrl-D

There is, but I'll need Roland to explain it properly.  Wink

(It also depends what the selection is. For example, if you select a comment line in the source window, Ctrl-D will give you a copy of the same comment, whereas Ins will give you a new, blank comment.)


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-09

(2022-06-09, 2:54)Orion Pobursky Wrote: Not related to this Alpha but is there any functional difference between duplicating a part/selection with Ins vs. Ctrl-D

ins will insert a new instance of the current (last used) work part using the current working color and working orientation.

ctrl+d will duplicate the (multi item) selection as a whole.


RE: LDCad 1.7 Alpha 2 (win+linux) - Orion Pobursky - 2022-06-09

(2022-06-09, 21:05)Roland Melkert Wrote: ins will insert a new instance of the current (last used) work part using the current working color and working orientation.

That's not the behavior I've experienced. If I select something on the model and hit Ins, it'll duplicate whatever I have selected


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-09

(2022-06-09, 21:32)Orion Pobursky Wrote: That's not the behavior I've experienced. If I select something on the model and hit Ins, it'll duplicate whatever I have selected

Same here; I would also say it depends what is selected, and where you try to Insert it.

If nothing is selected you'll get the behavior Roland describes, but if things are selected you get a copy of them. (Of course, if parts are selected, then one of them is going to be the working part anyway.)


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-10

(2022-06-09, 23:39)N. W. Perry Wrote: Same here; I would also say it depends what is selected, and where you try to Insert it.

If nothing is selected you'll get the behavior Roland describes, but if things are selected you get a copy of them. (Of course, if parts are selected, then one of them is going to be the working part anyway.)

I forgot, on a multi select ins acts like ctrl+d.

This is because ctrl+d was added later (mostly for a single selection duplication).


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-10

(2022-06-10, 11:05)Roland Melkert Wrote: I forgot, on a multi select ins acts like ctrl+d.

This is because ctrl+d was added later (mostly for a single selection duplication).

And am I right about the different behavior in the Source window—if you Ins a meta (like a ROTSTEP) you'll get a new instance of that meta with the values unset? Or is that a different function that I just assigned the same hotkey to?

And by the way, since I don't have an Ins key, I re-mapped all of its functions to the space bar, which I really like and might even recommend to those who do have an Ins key. Smile


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-10

(2022-06-10, 14:36)N. W. Perry Wrote: And am I right about the different behavior in the Source window—if you Ins a meta (like a ROTSTEP) you'll get a new instance of that meta with the values unset? Or is that a different function that I just assigned the same hotkey to?

And by the way, since I don't have an Ins key, I re-mapped all of its functions to the space bar, which I really like and might even recommend to those who do have an Ins key. Smile

If the last used 'part' is a step meta, ins will insert a new one using it's default settings (just like normal parts except those also use the working color and orientation).

Any item available in the part bin can be used as the working part. This is a requirement of the internals, hence those awesome custom artwork items Smile

The default space bar function is to zoom the last used view when using multiple views.

But if you don't need that it's a good alternative for ins.


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-10

(2022-06-10, 15:10)Roland Melkert Wrote: The default space bar function is to zoom the last used view when using multiple views.

But if you don't need that it's a good alternative for ins.

I have actually never used multiple views (sacrilege!), so I didn't think of that. Rolleyes But I did recently discover ctrl+space for the full-window view toggle, another nice feature.


RE: LDCad 1.7 Alpha 2 (win+linux) - David Manley - 2022-06-13

Something visually odd appears to be happening with the "choice" API in 1.7 alpha 2.

This is a screenshot from 1.7 alpha 1:

[Image: alpha_1_7_1.png]

but the equivalent screenshot from 1.7 alpha 2 truncates the dialog content:

[Image: alpha_1_7_2.png]

Regards,

David


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-13

(2022-06-13, 6:47)David Manley Wrote: Something visually odd appears to be happening with the "choice" API in 1.7 alpha 2.

I made some changes to that dialog to account for very short texts while having a longer caption (ldraw library zip selection at first run).

This seems to have broken something else Big Grin

Thanks for reporting.


RE: LDCad 1.7 Alpha 2 (win+linux) - David Manley - 2022-06-15

A feature request rather than a bug.

It would be helpful to be able to filter a parts bin on the basis of parts not matching. For example, if I'm looking at the part bin "By Category/Brick", I'd like to see neither patterned nor stickered bricks. At the moment, I can filter to show parts containing "pattern" or "sticker" but not the opposite. A simple extension to the syntax, perhaps prefixing a symbol such as an exclamation mark (!) to the word being filtered, would enable this capability.

For example, while a filter of "pattern" would show patterned bricks, a filter of "!pattern" would exclude patterned bricks.

Regards,

David


RE: LDCad 1.7 Alpha 2 (win+linux) - Philippe Hurbain - 2022-06-15

+1
So many times i wanted to filter out patterned parts!


RE: LDCad 1.7 Alpha 2 (win+linux) - Jaco van der Molen - 2022-06-22

(2022-06-15, 1:26)David Manley Wrote: A feature request rather than a bug.

It would be helpful to be able to filter a parts bin on the basis of parts not matching. For example, if I'm looking at the part bin "By Category/Brick", I'd like to see neither patterned nor stickered bricks. At the moment, I can filter to show parts containing "pattern" or "sticker" but not the opposite. A simple extension to the syntax, perhaps prefixing a symbol such as an exclamation mark (!) to the word being filtered, would enable this capability.

For example, while a filter of "pattern" would show patterned bricks, a filter of "!pattern" would exclude patterned bricks.

Regards,

David

Heu? This can be done already, can it not?

For example, I have this in my plain bricks PBG

<rules>
include category brick
exclude description ~*,_*,=*
exclude description duplo,quatro,mursten,pattern,pat.,spring,sticker,logo,without corner,fabuland

exclude description using words like pattern, pat., sticker, logo should do it?

There are some patterned parts that do not have the word pattern in the description, so those will not be filtered.


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-22

(2022-06-22, 9:35)Jaco van der Molen Wrote: Heu? This can be done already, can it not?

Yes in pbg files, but I've added it to the gui partbin filter too in Alpha 2a.


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-22

(2022-06-22, 12:39)Roland Melkert Wrote: Yes in pbg files, but I've added it to the gui partbin filter too in Alpha 2a.

Speaking of the part bin filter, has anyone else noticed it not behaving as expected? For example, if I'm viewing a list of parts (such as a pbg file, or the All Parts or All Dependencies overview) and I want to see only unofficial ones, I open the dialog and uncheck "Official Parts". The view blinks as if it's being redrawn, but all the official parts are still shown.

This does work as expected in the Search or Sorted bins, for example, so maybe I'm just not expecting the right behavior for other types of bins.


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-22

(2022-06-22, 14:22)N. W. Perry Wrote: Speaking of the part bin filter, has anyone else noticed it not behaving as expected? For example, if I'm viewing a list of parts (such as a pbg file, or the All Parts or All Dependencies overview) and I want to see only unofficial ones, I open the dialog and uncheck "Official Parts". The view blinks as if it's being redrawn, but all the official parts are still shown.

This does work as expected in the Search or Sorted bins, for example, so maybe I'm just not expecting the right behavior for other types of bins.

It will indeed only 'match' on unoffical parts, but only while there is a text given.

To exclude things in a bin at rest you need to edit the pbg file.

Or it will need a second (static) filter feature or something.


RE: LDCad 1.7 Alpha 2 (win+linux) - N. W. Perry - 2022-06-22

(2022-06-22, 16:06)Roland Melkert Wrote: It will indeed only 'match' on unoffical parts, but only while there is a text given.

To exclude things in a bin at rest you need to edit the pbg file.

Or it will need a second (static) filter feature or something.

Thanks, that's kind of what I suspected.

Is there a way to do a wildcard search, i.e. to match on any text? * doesn't seem to work, but I guess I could use ".dat" or even just "."


RE: LDCad 1.7 Alpha 2 (win+linux) - Roland Melkert - 2022-06-22

(2022-06-22, 16:31)N. W. Perry Wrote: Is there a way to do a wildcard search, i.e. to match on any text? * doesn't seem to work, but I guess I could use ".dat" or even just "."

Not at the moment, but with the '!' introduction it seems the next logical step.