Upcoming LDCad 1.7 Beta 1


Upcoming LDCad 1.7 Beta 1
#1
Hello all,

Next week I'm hoping to pickup LDCad 1.7 development again.

So if anyone is sitting on a bug (1.6d/1.7 alpha) or (small) feature request please let me know here.

I'm especially interested in things needed to get the shadow editing workflow going combined with github (https://github.com/RolandMelkert/LDCadShadowLibrary)

There are already features planned to auto force headers etc, but as I'm new to github people might have additional ideas.

Second main interest is the LUA scripting api, any ideas on additional functions/objects are welcome.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#2
(2022-12-29, 20:18)Roland Melkert Wrote: Hello all,

Next week I'm hoping to pickup LDCad 1.7 development again.

So if anyone is sitting on a bug (1.6d/1.7 alpha) or (small) feature request please let me know here.

I'm especially interested in things needed to get the shadow editing workflow going combined with github (https://github.com/RolandMelkert/LDCadShadowLibrary)

There are already features planned to auto force headers etc, but as I'm new to github people might have additional ideas.

Second main interest is the LUA scripting api, any ideas on additional functions/objects are welcome.

I do have a crash problem lately but I think it is in Wine, not LDCad. If it happens again I will post the backtrace; maybe you can make something out of it?

Otherwise I think you have some ideas from me already for the API…

As for shadow editing, I haven't done it much recently because I've been using compressed libraries, and I got tired of always unpacking and re-packing them. I don't suppose there's any way around this? Or I could just go back to uncompressed libraries; with the new silicon Mac I'm sure I'd notice no difference in speed (not that I did before, anyway).

But maybe with the git workflow, instead of a message saying "you can't edit this because it's zipped", there could be an option to say "you can't save changes locally; do you want to submit to the repository instead?"
Reply
RE: Upcoming LDCad 1.7 Beta 1
#3
(2022-12-29, 20:18)Roland Melkert Wrote: Hello all,

Next week I'm hoping to pickup LDCad 1.7 development again.

So if anyone is sitting on a bug (1.6d/1.7 alpha) or (small) feature request please let me know here.

I'm especially interested in things needed to get the shadow editing workflow going combined with github (https://github.com/RolandMelkert/LDCadShadowLibrary)

There are already features planned to auto force headers etc, but as I'm new to github people might have additional ideas.

Second main interest is the LUA scripting api, any ideas on additional functions/objects are welcome.

ability to add reference images (more the merrier)
Reply
RE: Upcoming LDCad 1.7 Beta 1
#4
(2022-12-30, 0:34)N. W. Perry Wrote: But maybe with the git workflow, instead of a message saying "you can't edit this because it's zipped", there could be an option to say "you can't save changes locally; do you want to submit to the repository instead?"

I'm not really a fan for 'micro' commits, I usually work on a whole LDraw release before doing a commit myself.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#5
(2022-12-30, 3:21)Sam Potter Wrote: ability to add reference images (more the merrier)

I keep forgetting this feature, last I did some prep work on it I conjured up a new meta for it:

0 !LDCAD IMAGE [name=bla.png] [pos=x y z] [ori=a b c d e f g h i]  [scale=x y z]

This format will allow for an unlimited amount of images.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#6
A couple tiny things:
  • In the header dialog, tags tab, content type menu (model, primitive, subpart etc.): Is there any way for the drop-down to show the whole list of options without scrolling? This is incredibly minor, but I've noticed with new (sub)files, that I absolutely ALWAYS have to scroll because "LDraw.org Model" is near the bottom of the list. (Alternately, could the menu be sorted so that the model options are at the top?)
  • Any chance of finally getting that THEME meta option in this dialog? Angel

Somewhat bigger idea, maybe for a later version…
  • Nested editing is such a helpful and powerful feature (and probably doesn't get enough credit for helping make LDCad the tool of choice that it's become). Have you ever thought about adding a functionality for nesting levels? That is, setting the number of levels into the model tree that you go? I have a few models that are organized such that I often want to work with submodels of submodels, and they happen to be all at the same hierarchy. I know I can use nesting exclusions, but those aren't saved with the file and would have to be re-assigned at each new editing session.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#7
Hi Roland,

I'm still working on the collision detection script. If there would be some "internal" support, I would really appreciate this an would like to adopt my script or completely rewrite my scripting attempts.

Thanks and best regards
Stefan
Reply
RE: Upcoming LDCad 1.7 Beta 1
#8
I mentioned an issue with a script not working properly in this post. I wondered if it's an issue with LDCad rather than the script?

The reason I think so is because the script is actually your code, so I'm guessing it works right. Big Grin But the other reason is, I had an earlier version of the script using my own totally different code, and it had the same problem. I think it must have to do with how LDCad handles comments in the source window (also because I know the source window isn't the complete, literal source of the file).
Reply
RE: Upcoming LDCad 1.7 Beta 1
#9
(2023-01-18, 8:51)Stefan Frenz Wrote: If there would be some "internal" support, I would really appreciate this an would like to adopt my script or completely rewrite my scripting attempts.
Exposing the internal collision information in the api is on my todo/partial ready.


(2023-01-18, 19:02)N. W. Perry Wrote: I wondered if it's an issue with LDCad rather than the script?
It seems to work in the current 1.7 Beta 1, but I'm not entirely sure about the problem you're having. Could you send me an example model?
Reply
RE: Upcoming LDCad 1.7 Beta 1
#10
(2023-01-18, 19:02)N. W. Perry Wrote: I mentioned an issue with a script not working properly in this post. I wondered if it's an issue with LDCad rather than the script?

The reason I think so is because the script is actually your code, so I'm guessing it works right. Big Grin But the other reason is, I had an earlier version of the script using my own totally different code, and it had the same problem. I think it must have to do with how LDCad handles comments in the source window (also because I know the source window isn't the complete, literal source of the file).
(2023-01-20, 22:14)Roland Melkert Wrote: It seems to work in the current 1.7 Beta 1, but I'm not entirely sure about the problem you're having. Could you send me an example model?

Sure, you can use the attached model, which has a bunch of text comments after the header. I've also got a quick animation of the problem:

.gif   ezgif.com-gif-maker.gif (Size: 498.58 KB / Downloads: 379)

It should uncomment those lines (remove the '0 // ' prefix), not delete the whole line.


Attached Files
.ldr   21000 Sears Tower.ldr (Size: 4.06 KB / Downloads: 2)
Reply
RE: Upcoming LDCad 1.7 Beta 1
#11
(2023-01-21, 0:53)N. W. Perry Wrote: Sure, you can use the attached model, which has a bunch of text comments after the header. I've also got a quick animation of the problem:


It should uncomment those lines (remove the '0 // ' prefix), not delete the whole line.

I think what's happening here is the line without 0 // is demoted to 'white space' internally.

Then when you want to toggle it back a white space line is essentially empty no matter it's original source.

Exceptions are 'garbage' lines loaded at file load, those will be preserved.

This is one of those situations that was never an issue in the pre scripting era of the program.

I will try to improve it, but this really shows the need of a whole new core loading system (LDCad 2.0).
Reply
RE: Upcoming LDCad 1.7 Beta 1
#12
(2023-02-02, 19:02)Roland Melkert Wrote: I think what's happening here is the line without 0 // is demoted to 'white space' internally.

Then when you want to toggle it back a white space line is essentially empty no matter it's original source.

Exceptions are 'garbage' lines loaded at file load, those will be preserved.

This is one of those situations that was never an issue in the pre scripting era of the program.

I will try to improve it, but this really shows the need of a whole new core loading system (LDCad 2.0).

Makes sense, since if you uncomment a comment you're left with an invalid line.

Theoretically I could probably put in a check to make sure the uncommented line is still valid LDraw code, but I'm not sure I'll bother. I'd probably just avoid uncommenting comments (no use case for it anyway, other then as part of a shift-selected block of lines perhaps).

At least until LDCad 2.0, anyway.  Tongue
Reply
RE: Upcoming LDCad 1.7 Beta 1
#13
it would be cool if there was a way, using the LDCAD API to get the dimensions of base primitives.
By 'base primitives' I mean primitives that are at level 0  and don't reference any other primitive(s).

This is required in order for me to do bin packing algorithms without just making a billion variables for entire part dimensions (inefficient)
It is better to go all the way down to the smallest primitive instead.
 The bin packing algorithm is part of my optimization tool called LegoScript, which allows the user to load an LDRAW model and then replace several parts with fewer parts while keeping the model practically the same.

The user can input different queries that change the search behaviour and results of the algorithm, for example I can tell it to not automatically find everything and optimize it all but to instead only search for say, 3024.dat, or, another example is to only search for parts in the LDRAW model that are of type 'brick modified' and then it will perform some sort of parts replacement, or do nothing.

Also the ability to move a part diagonally by holding the left or right arrow key at the same time as holding the up or down arrow key would be a massive help

Regards, Snipe
Reply
RE: Upcoming LDCad 1.7 Beta 1
#14
(2023-02-02, 19:02)Roland Melkert Wrote: This is one of those situations that was never an issue in the pre scripting era of the program.

I will try to improve it, but this really shows the need of a whole new core loading system (LDCad 2.0).

Here's another funny side effect: if I apply some mutation to a type 1 line, then comment it out, the comment will have greater decimal precision than the real type 1 line (i.e., 8 places rather than 6). I can go back and forth like this until I quit and re-launch, then the lower precision is "baked in".

I think I understand why this is from prior experience, but it's important to note that the script is acting on the lines as LDCad sees them internally, not the literal source lines that will be written to the file.

Editing to add: I'm still getting a fairly consistent crash after using my script. It's not immediate, but it does seem to accompany closing a file and/or the application, and only ever happens when I've been using the script.

Says it's a Wine problem, but I'll attach the log in case anyone can make sense of it:

.txt   backtrace.txt (Size: 6.63 KB / Downloads: 2)
Reply
RE: Upcoming LDCad 1.7 Beta 1
#15
(2023-02-15, 21:24)N. W. Perry Wrote: Here's another funny side effect: if I apply some mutation to a type 1 line, then comment it out, the comment will have greater decimal precision than the real type 1 line (i.e., 8 places rather than 6). I can go back and forth like this until I quit and re-launch, then the lower precision is "baked in".

I think I understand why this is from prior experience, but it's important to note that the script is acting on the lines as LDCad sees them internally, not the literal source lines that will be written to the file.
Yes, once a line is marked modified it contents will be regenerated upon save.


(2023-02-15, 21:24)N. W. Perry Wrote: Editing to add: I'm still getting a fairly consistent crash after using my script. It's not immediate, but it does seem to accompany closing a file and/or the application, and only ever happens when I've been using the script.

Says it's a Wine problem, but I'll attach the log in case anyone can make sense of it:
Thanks I will look into it.

Too bad a backtrace log won't help, as I compile releases minus debug options and heavy on optimization.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#16
(2022-12-29, 20:18)Roland Melkert Wrote: Hello all,

Next week I'm hoping to pickup LDCad 1.7 development again.

So if anyone is sitting on a bug (1.6d/1.7 alpha) or (small) feature request please let me know here.

I'm especially interested in things needed to get the shadow editing workflow going combined with github (https://github.com/RolandMelkert/LDCadShadowLibrary)

There are already features planned to auto force headers etc, but as I'm new to github people might have additional ideas.

Second main interest is the LUA scripting api, any ideas on additional functions/objects are welcome.

Better late then never, but I have a feature request:
Would it be possible to show a submodel usage count in the Model (content) overview/information groups?
Visible in:

All models curently being edited
Content of current session's file
All models used by the current model (recursively)

Just like you can see a part count in All parts used in the current model (recursive)
Jaco van der Molen
lpub.binarybricks.nl
Reply
RE: Upcoming LDCad 1.7 Beta 1
#17
Another tiny little idea…based on something I messed up that was totally my fault, but it gave me the idea at least. Tongue

In file clean-up, remove subfiles option, what about a choice to remove only "orphaned" subfiles—those that are not referenced by ANY other subfile (not just the main one), and that don't themselves reference any other subfiles?

In other words, the same as "All not referenced by main subfile", except that any subfile that references any other subfiles would be treated as a "main" subfile.

The mistake I made was to choose "All not referenced by main subfile", because I had a bunch of little loose subfiles for temporary work that I wanted to quickly delete. But I forgot that there was a major sub-section of my model that wasn't yet referenced by the main subfile, because that doesn't happen until the very final step which I hadn't gotten to yet. So I lost that whole huge chunk of the model along with several subfiles that it contained—and of course I was also silly enough to save the file right after performing the clean-up, but before I realized my mistake!
Reply
RE: Upcoming LDCad 1.7 Beta 1
#18
(2023-02-27, 16:23)N. W. Perry Wrote: In file clean-up, remove subfiles option, what about a choice to remove only "orphaned" subfiles—those that are not referenced by ANY other subfile (not just the main one), and that don't themselves reference any other subfiles?

+1

I now use MPDCenter for that.

For my idea would go the same: also count subfiles that are nested.
Jaco van der Molen
lpub.binarybricks.nl
Reply
RE: Upcoming LDCad 1.7 Beta 1
#19
+1 for "keep only subfiles that are referenced transitively by main"

I use LDInspector Wink  for that, but would like to not need it. Wink
Reply
RE: Upcoming LDCad 1.7 Beta 1
#20
(2023-02-27, 16:23)N. W. Perry Wrote: In file clean-up, remove subfiles option, what about a choice to remove only "orphaned" subfiles—those that are not referenced by ANY other subfile (not just the main one), and that don't themselves reference any other subfiles?

In other words, the same as "All not referenced by main subfile", except that any subfile that references any other subfiles would be treated as a "main" subfile.

If this can be done easily I'll try to include it in beta1, otherwise it probably end up into beta2.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#21
Hello,

There is something wrong with the order of the letters in this warning message  Smile
This happens when you try to add 2 similar folders in library path menu.


.png   220708.png (Size: 6 KB / Downloads: 215)
Reply
RE: Upcoming LDCad 1.7 Beta 1
#22
(2023-04-18, 6:16)Florent Faramond Wrote: There is something wrong with the order of the letters in this warning message  Smile

Thanks for reporting
Reply
RE: Upcoming LDCad 1.7 Beta 1
#23
I found a few problems when editing a model, first of all, (I have mentioned this before, but alas): sometimes even when I make the grouping layer 0 in both nested mode and normal mode and also try using 'detach content' , 'inline' and 'embed unofficial content' it still seems to have parts "linked" in the sense where if I click something like a wheel or a tire it always selects all 4 of them rather than just one... I can eventually stop it from doing that but I have to try every option that I mentioned and then try some of them again and its just a pain.

Secondly, it still is not removing all of the sub-models in the 'change current session' window or the ''all models currently being edited' parts bin category. Even if I close LDCAD and reopen it and load the model again. Most of the sub-models were just put into the main model so it did not lose any parts however one sub-model remained for some reason: 
[Image: 2CIAn8f.png]
So hopefully this gets fixed

Thirdly there is currently no way that I can think of to simply locate where in the model a sub-model is being used, even if it is used more than once, so I gave up even tying to find where it was located so that I could inline it and only one the main model with no sub-models. So it would be cool if we could treat sub-models more like parts, for example if you select a part in a model and then double click on a part in the parts bin it will replace that part, but this does not work for replacing sub-models with parts or other sub-models, something that I would find very useful and faster doing it any other way.

Lastly, it would be nice if we could just remove sub-models within LDCAD in two ways, one would keep the file on the HDD (assuming its not just an internal sub-model and is actually in its own file) and just remove any references to it within the currently open file

and the second way would actually remove the file but keep the references, even though they will show up as [MISSING].

I said lastly but I lied Tongue 

If I hide some parts in a model and click save as, I can no longer unhide them in both the original file as well as the saved as file.

Ok, that's all for now as I know I've said a lot of stuff that I would like fixing Big Grin
Reply
RE: Upcoming LDCad 1.7 Beta 1
#24
I will need some time to reveiw these issues.

(2023-05-21, 1:59)SNIPE Wrote: Secondly, it still is not removing all of the sub-models in the 'change current session' window or the ''all models currently being edited' parts bin category.

Is this a single mpd? The bin would suggest there is at-least a second file involved (unless that's the bug Smile )

Could you share the mpd?
Reply
RE: Upcoming LDCad 1.7 Beta 1
#25
(2023-05-22, 22:25)Roland Melkert Wrote: Could you share the mpd?

Sure: Link
Reply
RE: Upcoming LDCad 1.7 Beta 1
#26
(2023-05-27, 17:09)SNIPE Wrote: Sure: Link

The bin is actually correct, there are two models being edited. The 'bracket' model is the only other model in the mpd.

'models' in this context aren't just the top level ones, I forgot this myself Big Grin 

The bracket might be a leftover of inlining/cleanup given the amount of preceding step meta's.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#27
Hi Roland, I'm not sure if anyone has asked you this yet, but I have a quick question: Will there be another version of LDCad for macOS released in the near future? I really love LDCad—it's small in size but powerful, and it's much more comfortable to use compared to other alternatives. All the necessary components work great, and I can find everything I need easily.

One more thing: Is it possible to decrease the step rotation to 0.1 or lower, instead of the current 0.5? My OCD kicks in when parts are just slightly misaligned. Thanks!
Reply
RE: Upcoming LDCad 1.7 Beta 1
#28
(2024-11-20, 7:09)Citra Susanto Wrote: One more thing: Is it possible to decrease the step rotation to 0.1 or lower, instead of the current 0.5? My OCD kicks in when parts are just slightly misaligned. Thanks!

Yes, the current version (1.7b1) allows rotation stepping down to 0.1 degree. Under Prefs->Editing->Grid stepping you can add additional rows to the set that comes up. For example, I've added both a 0.5 and a 0.1 rotation step, as well as a big 90-degree step for quick orthogonal turns.

Also, under Session->Grid (or just by clicking on the rotation step in the editing compass) you can disable rotation stepping altogether, allowing manual rotations to hundredths of a degree. (You'd have to zoom in pretty far to actually move the pin at a 0.01 resolution, of course…)
Reply
RE: Upcoming LDCad 1.7 Beta 1
#29
(2024-11-20, 7:09)Citra Susanto Wrote: Will there be another version of LDCad for macOS released in the near future? I really love LDCad—it's small in size but powerful, and it's much more comfortable to use compared to other alternatives. All the necessary components work great, and I can find everything I need easily.
A native mac version is very unlikely as I currently don't own any apple hardware. But I do keep an eye on the workability of the windows version under wine. Which as far I know currently works without problems, even the font thing should be fixed with1.7Beta 1 as I adjusted the search path to include the macos location.

(2024-11-20, 7:09)Citra Susanto Wrote: One more thing: Is it possible to decrease the step rotation to 0.1 or lower, instead of the current 0.5? My OCD kicks in when parts are just slightly misaligned.
Like mentioned the 1.7 version introduced fractions in the grid configuration, You can also do a precision rotation using the rotation dialog (middle mouse button on the disc).
Reply
RE: Upcoming LDCad 1.7 Beta 1
#30
One more idea (but maybe its more for the 2.0)
are the text labels hardcoded or would a localization possible?
(i've seen it in other programs that the texts have just placeholders <text123> and there are different files where each text then gets translated)
-> then the translation could be done by experienced users to make it easier for the newbies.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#31
(2024-11-21, 20:09)Rene Rechthaler Wrote: One more idea (but maybe its more for the 2.0)
are the text labels hardcoded or would a localization possible?
(i've seen it in other programs that the texts have just placeholders <text123> and there are different files where each text then gets translated)
-> then the translation could be done by experienced users to make it easier for the newbies.

Most text is centralised in a single .h file but dialogs use a wxWidgets generator which stores stuff in xml etc.

In other words this is not happening for 1.x Big Grin

But the new 2.0 is already multilingual as it no longer uses wxWidgets. That said development on 2.0 is extremely slow at the moment.

Hence the language files are currently just a few lines:

English:
Code:
!partBin_0p_groupLoadingCaption
Loading...

!partBin_0p_groupEmptyCaption
[Empty]

!partBin_0p_filterEmptyText
[Filter]

!partBin_0p_rootGroupCaption
Top level

Dutch:
Code:
!partBin_0p_groupLoadingCaption
Laden...

!partBin_0p_groupEmptyCaption
[Leeg]

!partBin_0p_filterEmptyText
[Filter]

!partBin_0p_rootGroupCaption
Top niveau
Reply
RE: Upcoming LDCad 1.7 Beta 1
#32
(2024-11-21, 18:11)Roland Melkert Wrote: A native mac version is very unlikely as I currently don't own any apple hardware. But I do keep an eye on the workability of the windows version under wine. Which as far I know currently works without problems, even the font thing should be fixed with1.7Beta 1 as I adjusted the search path to include the macos location.

There are still some funny quirks now and then which seem to involve program windows becoming inactive. Nothing that can't be recovered from, but it is definitely a more recent issue.

I'm using the CrossOver flavor of Wine, though, not the out-of-the-box version from WineHQ. So that might be a factor.
Reply
RE: Upcoming LDCad 1.7 Beta 1
#33
(2024-11-20, 22:20)N. W. Perry Wrote: Yes, the current version (1.7b1) allows rotation stepping down to 0.1 degree. Under Prefs->Editing->Grid stepping you can add additional rows to the set that comes up. For example, I've added both a 0.5 and a 0.1 rotation step, as well as a big 90-degree step for quick orthogonal turns.

Also, under Session->Grid (or just by clicking on the rotation step in the editing compass) you can disable rotation stepping altogether, allowing manual rotations to hundredths of a degree. (You'd have to zoom in pretty far to actually move the pin at a 0.01 resolution, of course…)
I just realize it. Thank you so much. I remember in version 1.6 only allow till 0.5 which make a perfect alignment quite challenging. Thank you so much. Appreciate the update. 
 
(2024-11-21, 18:11)Roland Melkert Wrote: A native mac version is very unlikely as I currently don't own any apple hardware. But I do keep an eye on the workability of the windows version under wine. Which as far I know currently works without problems, even the font thing should be fixed with1.7Beta 1 as I adjusted the search path to include the macOS location.
One of the problem with workaround such as Crossover is lack of seamless continuity when switching between apps such as designing with LDCad and creating instruction with LPub3D. Any update in LPub3D are not be automatically detected. So we need to keep refresh the LDCad before doing any changes.

I have two questions and observations that I'm unsure about:
1. Is there a shortcut or setting that allows me to toggling top-bottom or right-left or front-back while in orthographic views?
2. In version 1.7, I noticed that when creating subfiles, some parts seem to get misplaced, and model names suddenly include numbers.
Here's an example of the code where this issue occurs. It doesn't happen consistently but has appeared a few times.
Code:
1 19 0 0 0 0 1 0 1 0 0 0 0 -1 3749.dat
0 Name: Model-6126-otherL.ldr
0 Author: Citra S {Citra S}
1 0 -20 0 0 0 1 0 -1 0 0 0 0 1 2780.dat
1 0 0 10 0 0 0 -1 0 1 0 1 0 0 32348.dat
Reply
RE: Upcoming LDCad 1.7 Beta 1
#34
(7 hours ago)Citra Susanto Wrote: One of the problem with workaround such as Crossover is lack of seamless continuity when switching between apps such as designing with LDCad and creating instruction with LPub3D. Any update in LPub3D are not be automatically detected. So we need to keep refresh the LDCad before doing any changes.

That's true, and also it doesn't seem possible to, for example, run LDView inside of another program like LDDP or DatHeader, which use it for preview functions.

On the other hand, LDCad is good enough to have a simple Reload command, so it's easy to view the results of a change made in TextEdit. The reverse, unfortunately, does not apply: you can't edit a model in LDCad and immediately see the resulting code in TextEdit without closing and reopening the file—and that's the Mac native app!
Reply
RE: Upcoming LDCad 1.7 Beta 1
#35
Roland, any chance official parts embedding could be implemented? (https://forums.ldraw.org/thread-27607-po...l#pid54380)
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 3 Guest(s)