LDraw.org Discussion Forums

Full Version: LDCad 1.0 (win+linux)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
I've uploaded the definitive 1.0 version to

http://www.melkert.net/LDCad

Mostly bug fixes over the beta 2 version.
The most important addition is the ability to move parts to another building step.

With this 'stable' version I'm going to work on some major features for the 1.1 version and as a result there will be less frequent updates unless there's a major issue reported.

Planned (some) features for 1.1 are:
- Multiple views including 2D Ortho mode (front/left/top/etc)
- Flexible parts (pneumatic hose, etc)

Any additional suggestions are still welcome though.
Roland,

I used to follow LDraw on LUGNET, but ever since the discussions were moved here I've been out of touch.
I discovered your program because someone referred to it on Linked-in and I have been trying it today.

I have a number of questions/suggestions:
  • How can I set the rotation point for the entire model to be the centre of a specific part?
    In LDD right-clicking on a part changes the focus to that part, including rotation. In your program I have been unable to change the rotation point from 0,0,0.
  • Can I turn the colour wheel to get better access to the different colours?
    Alternatively maybe you can show the wheel from a less tilted perspective so colours on the sides are easier to differentiate.
  • Is there a good reason why the studs on the program icon look like they are from megabloks? (legal issues?)
  • When I use copy&paste, why is the pasted part not placed in the same position as the one I copied?
    I know I can use 'insert', but sometime copy&paste is easier.

Also, in the color pane one of the entries reads "mettallic" - that's one 't' too many: "metallic"
Quote:How can I set the rotation point for the entire model to be the centre of a specific part?
In LDD right-clicking on a part changes the focus to that part, including rotation. In your program I have been unable to change the rotation point from 0,0,0.

Do you mean for editing or just viewing?

For viewing you can change the 'look at point' by using the arrow icons inside the compass or by pressing 'c' while inside the editing window (this will set the lookat to the selection's position).

For editing you select the center part followed by 'select all' in the selection menu. Rotating using the editing pin now rotates everything using the first selected part's origin.


Quote:Can I turn the colour wheel to get better access to the different colours?
Alternatively maybe you can show the wheel from a less tilted perspective so colours on the sides are easier to differentiate.

You can change the tilt of the wheel (new in the latest 1.0 version) by using ctrl+scrollwheel while the mouse is inside the colorwindow. Mousewheel without the ctrl rotates the wheel on it's axis. The tilt will be remembered, the rotation will only be kept for this view until you exit the application or move up in the menu tree.


Quote:Is there a good reason why the studs on the program icon look like they are from megabloks? (legal issues?)

No, it's because I'm rubbish in drawing Smile


Quote:When I use copy&paste, why is the pasted part not placed in the same position as the one I copied?
I know I can use 'insert', but sometime copy&paste is easier.

This is because parts (including the paste selection) are placed using the last active orientation. When you paste something that's placed rotated the resulting ldr fragment on the clipboard includes this rotation. When you paste back the 'work rotation' is applied again just as with any other part placement. The 'ins' key corrects for this giving it more of a cloning feel.

I might add an option to the 'copy menu' for this, so it optionally copies with neutral rotation.


Quote:Also, in the color pane one of the entries reads "mettallic" - that's one 't' too many: "metallic"

Ah, thanks. I corrected it in my code. If it bothers you enough you can correct it in your installation by editing the "colorBin\metallic.cbg" file at the line that starts with "caption="
Roland Melkert Wrote:For editing you select the center part followed by 'select all' in the selection menu. Rotating using the editing pin now rotates everything using the first selected part's origin.
Exactly what I was looking for. Thanks!
Can you add the (standard) shortcut ctrl+a for select all? There doesn't appear to be a working shortcut for that function

Quote:You can change the tilt of the wheel (new in the latest 1.0 version) by using ctrl+scrollwheel while the mouse is inside the colorwindow. Mousewheel without the ctrl rotates the wheel on it's axis. The tilt will be remembered, the rotation will only be kept for this view until you exit the application or move up in the menu tree.
I hadn't even realised the wheel could turn. Nice!
Is there a way to choose a colour from it's name/number? If I know I want "light bluish grey" I now need to go through the wheels to see where it is at.

Quote:
Quote:Is there a good reason why the studs on the program icon look like they are from megabloks? (legal issues?)
No, it's because I'm rubbish in drawing Smile
Can't you use an LDraw render (maybe removing the LEGO logo from the studs)?

Quote:
Quote:When I use copy&paste, why is the pasted part not placed in the same position as the one I copied?
I know I can use 'insert', but sometime copy&paste is easier.
This is because parts (including the paste selection) are placed using the last active orientation.
I read this several times and it finally dawned on me that you may be referring to the last active orientation of the last part I inserted. This does not seem to make much sense though, because if I insert several parts and rotate them differently, if I select any of those parts and drag a new part in the new part will have the same rotation as the selected part. So why should it be different in copy&paste? if I copy the part shouldn't it be copied including the rotation of that specific part? Is there an advantage to doing it differently?

Another thought... have you considered the possibility of translating your program, making it possible for others to supply a translation in an easy format. I once looked into translating MLCad into Spanish (there is a partial translation, but it is incomplete and needs an update) but the skills and software required to do that were beyond my possibilities.
I haven't add ctrl+a thinking: working with all parts in the selection doesn't happen often. So it's probably better to keep that key binding free for some future feature.

For manual color assignment you can use the part properties dialog. You open that by clicking on the little position panel while a selection is active or by pressing the 'enter' key.

In a future version I will probably add a way to set the 'working color' using the keyboard. (e.g. typing 71 while the mouse is in the working color preview box.)

I have to 'upgrade' most of the 'artwork' some day, but I'm a bit lazy on that front. This is also the reason I used photo's for the part bin instead of even more crappy self made drawings.

Quote:I read this several times and it finally dawned on me that you may be referring to the last active orientation of the last part I inserted. This does not seem to make much sense though, because if I insert several parts and rotate them differently, if I select any of those parts and drag a new part in the new part will have the same rotation as the selected part. So why should it be different in copy&paste? if I copy the part shouldn't it be copied including the rotation of that specific part? Is there an advantage to doing it differently?

This is because the LDraw parts all have zero rotation, so it doesn't matter for them. But coping a selection uses the absolute placement matrix so they usually do have rotation. So when you have a brick placed at 90 degrees and copy it the paste will rotate the (90 degree rotated) brick again according to the last orientation (which could be something different if you e.g change the selection before using paste).

This is as it should be imho, cause other software has no way of knowing the rotation of the clipboard fragment otherwise. But I could add an option to the little dialog you get when you copy a selection (only shows if it's options are 'use full' on the selection) that lets you choose to 'remove' the rotation before placing it on the clipboard.

Quote:Another thought... have you considered the possibility of translating your program, making it possible for others to supply a translation in an easy format. I once looked into translating MLCad into Spanish (there is a partial translation, but it is incomplete and needs an update) but the skills and software required to do that were beyond my possibilities.

Yes, but I decided (for the time being atleast) against it for three reasons.

1. In my other LDraw program (LD4DStudio) I applied the full transparent language stuff and nobody has made a translation yet.
2. It's a pain to program, using all those constants instead of static text, which is not worth it when nobody uses it (#1).
3. The text that appears over the 3D rendering only supports 7bit ascii at the moment. (dialogs are full unicode though)

I might reconsider in the future if it gets requested a lot and I implement a way to render unicode in OpenGL.

Thanks for you thoughts.
Maybe it's because I'm not very good at using the rotation function, but during the little time I have used your application I find myself using the "select all" function quite frequently in order to be able to rotate the entire model in the way that feels natural for me (around a central point rather than around a point that appears to lie almost outside the model.

For the same reason maybe you want to consider adding the option to be able to select a view angle in the way LDView does that so if anyone gets hopelessly lost they can quickly go to a fully aligned front, top or side view.

Anyway, rotating the whole model with regard to the grid may not be the most intelligent thing to do (which is what you do if you select a center point piece and then select all other parts and use the editing pin). Rather I'd like to (temporarily or permanently set the grid location 0,0,0 to the centre of the construction. I can do that but not very precisely and it involves dragging the whole construction to an approximate location in (at least) two steps.

BTW, ctrl+a is a standard shortcut (like ctrl+x/c/v or the ctrl+s/n which you use) which many users may expect to work because of that very reason. Assigning it to a different function might be confusing.

I hadn't realised Part Properties includes colour number. Great! Still a search by name (yellow, tan) would also be appreciated.

Roland Melkert Wrote:This is because the LDraw parts all have zero rotation, so it doesn't matter for them. But coping a selection uses the absolute placement matrix so they usually do have rotation. So when you have a brick placed at 90 degrees and copy it the paste will rotate the (90 degree rotated) brick again according to the last orientation (which could be something different if you e.g change the selection before using paste).
Let me try to find out if we are talking about the same thing here: I select a piece, hit ctrl+c then ctrl+v and the new piece does not have the rotation of the piece that was selected when I hit ctrl+v but rather the standard orientation of the piece. I did not change the selection before pasting...

Have you considered including shortcuts for moving a piece one "step" in a specific direction? In MLCad, rather than drag a piece I usually use the keyboard to change the position and angle of a piece as this is much more accurate and also faster
Why are you rotating that much? Once a part is placed it should rarely need to rotate again and again. Unless you are using the rotate function to change your view upon the model in order to place a next part. But you should rotate the world for this not the model it self.

Version 1.1 will have multiple views including 'ortho' this will enable you to setup your interface much like e.g. mlcad.

You are right about the expected behavior of ctrl+a, I'll add it to the next version.

I don't know how to explain better, but the current copy/paste method is as it should be. The primary goal of copy paste is the exchange of LDraw fragments between programs using the clipboard (paste in notepad for example). It would be 'unexpected' if the rotation is removed by default. The copy does exactly the same as when you copy a section from the file after it's written to disk. Also paste works as expected when you paste in a new file, it only acts 'weird' when used in combination with the 'work rotation' used in LDCad, this is the reason I added the 'ins' key behavior for copying inside the same model. All I can do is add the fore mentioned option in the next version. Alternatively you could press ctrl+home to reset the selections rotation after paste.

You can already move parts using the arrow keys, be sure the editing pin is in move mode though, otherwise the arrow keys will apply rotation.
I rotate so much because I am using the function in a wrong way.

My problem is the following:

I build a tower of simple 2x2 bricks. After adding about 10 it becomes difficult to place the next brick because the zoom location of the model is the base of the tower. This means that the more bricks I add the smaller I need to make the model to be able to place any bricks.

I build a line of 1x8 bricks. After I place the third it becomes hard to place more bricks. I can't zoom in on the last brick, so I try to rotate the model, but the rotation point lies at the far end of the model and the line is difficult to manage.

So I end up taking all the pieces and moving them to a different location so the tower or line rotates around their centre rather than around one of the extremes. I must be doing something wrong...
Once the tower gets to high for the current zoom, use the compass to move the look at point up. You do this using the arrow icons that light up green in the corners of the grid. Be sure to set the editing plane to sides or front first.

[Image: moveDown.png]
yep, I'm stupid Smile
I actually used that and it works very nicely. Let's just say today I'm not at my brightest.

Thanks!
Pages: 1 2 3 4