LDraw.org Discussion Forums
LDCad 1.6 suggestions/plans - 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 suggestions/plans (/thread-18426.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20


Re: LDCad 1.6 suggestions/plans - Jaco van der Molen - 2016-02-04

I have two other requests: sorting bricks (by height) and something like autostepping.
(Sorry, too used to mlcad....)

Enhance autostepping by determination if a brick is attached.
This is often the case when using SNOT. If a brick is attached to say a headlightbrick, the height of that brick is lower then the height of the headligth brick. Sorting by height will mean we get floating bricks.
If LDCad could solve that it would be great. Since it has part snapping I guess one could test if a brick is attached?
Get it? :-)


Re: LDCad 1.6 suggestions/plans - Jetro de Château - 2016-02-10

What a brilliant tool. It's the opposite of Buffer Exchange. This will make things a lot easier for me when making subfiles that include a cable (PF Motor etc.) Up until now what I would do was insert a Buffer Exchange, add the motor with a short cable, add all the new parts, retrieve the buffer, add a new motor with a cable that connects to e.g the WeDo USB Hub (longer and twisted) and also add a copy of all the parts that were added since the previous buffer exchange. In LPub I would then hide all those new parts as well as the last step in that subfile.

It looks like this will allow me to do the same thing without Buffer Exchange and directly inside LPub


Re: LDCad 1.6 suggestions/plans - Gerald Lasser - 2016-02-10

As you wrote, this is the perfect tool to change cable routing at various point of the instructions. I used it in some instructions


Re: LDCad 1.6 suggestions/plans - Jetro de Château - 2016-02-14

I've tried to use the command and ran into a problem:

I used the command in a subfile and hid the first motor I inserted.
When I used the subfile in the mail file both motors appeared.
Is this the expected behaviour? Am I doing something wrong?


Re: LDCad 1.6 suggestions/plans - Willy Tschager - 2016-02-14

  • Is it just me or are there other people that get frustrated on how the menus work? There is no visual aid that suggest that for example unsplit a view you have to select:

    View -> Editing views -> Split -> Unsplit

    I really miss the arrow indicating a submenu or the three dots for a dialog ... the cascading submenu opening in an attached menu window and not all in the same box, getting lost ...
  • I further miss that there is no icon for the grids or an indication which step grid I'm currently using (before I start moving around and the grid shows up).

  • I miss that Front, Left, Right, ... icons I got used to in LDView, which are much faster then the compass in the bottom left-hand corner.

Sorry for the rant, it's just that I've got the impression to get nowhere and didn't no why,

w.


Re: LDCad 1.6 suggestions/plans - Roland Melkert - 2016-02-14

Willy Tschager Wrote:
  • Is it just me or are there other people that get frustrated on how the menus work? There is no visual aid that suggest that for example unsplit a view you have to select:

    View -> Editing views -> Split -> Unsplit

    I really miss the arrow indicating a submenu or the three dots for a dialog ... the cascading submenu opening in an attached menu window and not all in the same box, getting lost ...
  • I further miss that there is no icon for the grids or an indication which step grid I'm currently using (before I start moving around and the grid shows up).

  • I miss that Front, Left, Right, ... icons I got used to in LDView, which are much faster then the compass in the bottom left-hand corner.
The menu system indeed could use some improvements. the main reason it is as it is comes from the fact I initially wanted them to be pin-able and visible in OpenGL fullscreen mode. I also wanted to include none simple text item ones at some point (e.g. the compass it self) but this never took off.

I'll try to find a way to add at least the '>' arrows to submenu items, '...' is already used for dlg ones unless I forgot one.

I'll also look into making it possible to (optionally) let them act more like normal windows by opening submenus alongside their parents etc.

As icons for left/top etc those you can add to the menubar by providing png images your self.


Willy Tschager Wrote:Sorry for the rant, it's just that I've got the impression to get nowhere and didn't no why,w.
Don't worry, All comments / suggestions are welcome / appreciated.


Re: LDCad 1.6 suggestions/plans - Orion Pobursky - 2016-02-14

The non-native look and feel is probably my biggest impediment with LDCad. I guess I'm more resistant to change than I thought or I'm just getting old.


Re: LDCad 1.6 suggestions/plans - Willy Tschager - 2016-02-14

Orion Pobursky Wrote:... or I'm just getting old.

Welcome to the club!

w.


Re: LDCad 1.6 suggestions/plans - Orion Pobursky - 2016-02-14

Yup. Average age at work is 23. I'm quite a bit more than that...


Re: LDCad 1.6 ROTSTEP feedback - Roland Melkert - 2016-02-25

I've been working on adding ROTSTEP support to the 1.6 version.

But I have never used the meta myself so I would appreciate some feedback / info about it.

This is what I got so far: screenshot

I find the angle properties very limiting, (especially the z control as shown in the picture).

Maybe I'm using it wrong, so what values are used often / in normal situations?

Also does anyone know the best/easiest way to extract the angles from an existing rotation matrix?

This is what i use for setting up the matrix (as described in the MLCAD spec doc).

Code:
void TLDStepMetaLine::getRotStepRotationMatrix(const double xAngle, const double yAngle, const double zAngle, TGLMatrixd &matrix) {

  //Uit rotstep spec doc
  const double wx=deg2Rad(xAngle);
  const double wy=deg2Rad(yAngle);
  const double wz=deg2Rad(zAngle);

  const double s1=sin(wx);
  const double s2=sin(wy);
  const double s3=sin(wz);

  const double c1=cos(wx);
  const double c2=cos(wy);
  const double c3=cos(wz);

  matrix.initFromLDraw(
    0.0, 0.0, 0.0, //xyz
    c2*c3, //a
    -c2*s3, //b
    s2, //c
    c1*s3+s1*s2*c3, //d
    c1*c3-s1*s2*s3, //e
    -s1*c2, //f
    s1*s3-c1*s2*c3, //g
    s1*c3+c1*s2*s3, //h
    c1*c2); //i
};

Any feedback / help is welcome.