Rubber arrow helper and more arrows


Rubber arrow helper and more arrows
#1
Hi.

While preparing new instructions for one customer I found a rubber arrow helper really needed. So I created one and want to let anyone use it.
I got an inspiration from the arrow helper thread and holly-wood.it and Technic Flex Cable - so you can see I'm _not_ experienced with these LDCAD meta commands. Please, check if this is correct way how to create such arrow. What I see in LDCAD is that sometimes a gap between the end segment and a rest of arrow appears, for shorter arrows one need to shorten the "tension" of path points. Otherwise it looks good, as far as I can see. What do you think?

Then, what about to cooperate on creation of one section of arrow helpers together? So far, I found:

* straight arrows of different lengths by Willy Tschager
* arrows for rotations etc. by Jaco van der Molen
* this rubber one by me

My idea is to create a simple zip archive with all these together (including donor files etc.) and LDCAD partBin definition so anyone can find and use arrows easily: in LDCAD and, later, in LPUB3D.
In following LDCAD releases this could be a part of LDCAD distribution as another helper files.

What do you think? Willy, Jaco, Roland?

So far, I use this partBin definition, in templates subdir:

Code:
  [options]
  kind=filter
  caption=Arrows

  description=Misc arrow helpers
  picture=
  mascot=path\a1.ldr
  id=40

  sortOn=description
  sortDesc=false
  sortCaseInSens=true
  sourceInv=template
                                                                     
  <rules>
  include keyword arrow                                                                                 


Attached Files
.ldr   arrow.ldr (Size: 1.07 KB / Downloads: 10)
.dat   arrow_body.dat (Size: 294 bytes / Downloads: 9)
.dat   arrow_tip.dat (Size: 422 bytes / Downloads: 8)
Reply
RE: Rubber arrow helper and more arrows
#2
Overall question is: Shouldn't we allow helper parts in the library so all progs can benefit?

w.
LEGO ergo sum
Reply
RE: Rubber arrow helper and more arrows
#3
(2021-07-13, 12:07)Willy Tschager Wrote: Overall question is: Shouldn't we allow helper parts in the library so all progs can benefit?

w.

I agree but some files are prog specific (like the rubber arrow, partBin definition). So I vote for a combination: a helper part of the library plus to add LDCAD specific files to the LDCAD directories.
In fact, this is what I have on my disc now, just the ldraw part is in the section Unofficial now.

Another question is how difficult and time consuming is to get an agreement on the helper part of the ldraw library. If it needs some time, we can put these helpers to the Unofficial part of ldraw library meanwhile (with a note they are for helpers, not for real parts - keywords set etc.).
Reply
RE: Rubber arrow helper and more arrows
#4
(2021-07-13, 11:40)Milan Vančura Wrote: so you can see I'm _not_ experienced with these LDCAD meta commands. Please, check if this is correct way how to create such arrow. What I see in LDCAD is that sometimes a gap between the end segment and a rest of arrow appears, for shorter arrows one need to shorten the "tension" of path points.
The two control points seem to be swapped and too close together.
The arrow head should be the path end, and the other on the start (at 0,0,0).
Then you probably also want ot change the skin's segment size to 100% instead of its current 400%. This will allow for smoother curves.

Like so:
Code:
0 Arrow helper
0 Author: Milan Vančura
0 !CATEGORY helper
0 !KEYWORDS arrow, flexible
0 !LDCAD CONTENT [type=path] [addFallBack=default] [looped=false] [displayKind=ldu] [curveStep=0] [displayLenCor=0]

0 !LDCAD PATH_POINT [type=bezier] [posOri=0 0 0 1 0 0 0 1 0 0 0 1] [prevCPDist=25] [nextCPDist=1] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]
0 !LDCAD PATH_POINT [type=bezier] [posOri=0 -10 0 1 0 0 0 1 0 0 0 1] [prevCPDist=2] [nextCPDist=25] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]

0 !LDCAD PATH_SKIN [donCol=16] [donOri=1 0 0 0 1 0 0 0 1] [donPart=arrow_body.dat] [donYSize=100%] [donCen=absCen] [donCenYOfs=0] [donFinScale=fitDon2Seg] [donPlace=deform] [donYAlign=0] [donInline=false]

[segSize=100%] [segSizeTol=5%] [segsCnt=0] [segsGrp=0] [segsMaxMerge=5] [segsMrgAng=0] [segsMrgRollAng=0] [segsEdgeDelKind=keepFirstLeft]

0 !LDCAD PATH_CAP [group=end] [color=16] [posOri=0 -30 0 1 0 0 0 1 0 0 0 1] [part=arrow_tip.dat] [extraLen=20] [inlineRef=false]
0 !LDCAD PATH_CAP [group=start] [color=16] [posOri=0 0 0 1 0 0 0 1 0 0 0 1] [part=arrow_body.dat] [extraLen=0] [inlineRef=false]

You might also want to move the origin of the arrow head to its base.

That said, I happily add this to the default template set if you want.

Would be nice to have a whole set so an 'helper parts' bin group wouldn't have a single item it it.
Reply
RE: Rubber arrow helper and more arrows
#5
Why does your arrows have edges in colour 16? Thats not allowed.

Why do you want 2D parts in a 3D environment?
Reply
RE: Rubber arrow helper and more arrows
#6
Thanks a lot for your help, Roland. Your version looks working better. I thought about i more and now I believe it would be useful to move the part origin to the arrow tip, for practical reasons, like in case of hinges: one usually points some place using the arrow but needs to turn the arrow then (horizontal/vertical etc.). What do you think?
EDIT: I added my proposal to the attachment. Just moved the part origin and removed the strange line I believe you unintentionally left in the file after editing.

About more parts in this category: this is my goal, too: to collect arrow helpers from different sources to one place, easy to find. I support Willy's idea about the new category in the ldraw library because other arrows are static "parts" useful in all programs, the only LDCAD specific is this rubber one. Then, the partBin in LDCAD should show both the arrow types together. I suggest the keyword "arrow" and we may also add a keyword "helper". (On my computer, this partBin shows 12 helper parts, currently.)
what's the process of creating such new category of the library? How can I help?

Note about those "static" arrows: both Willy's and Jaco's ones are "onesided" only, they become invisible when looked at from the other side. One of my improvements, while working on the rubber one, is that I added the opposite side of the arrow. I suggest doing the same for all arrow helpers before we publish them in the library.


Attached Files
.ldr   arrow.ldr (Size: 1,000 bytes / Downloads: 8)
Reply
RE: Rubber arrow helper and more arrows
#7
(2021-07-13, 22:20)Magnus Forsberg Wrote: Why does your arrows have edges in colour 16? Thats not allowed.

Why do you want 2D parts in a 3D environment?

Hello Magnus.

These "parts" are special. No real bricks so rules for real bricks do not necessarily apply here. And your questions are perfect examples of such differencies: arrows are 2D because they are used more as "illustrations" in some instruction step (think about BUFFER EXCHANGE or look into original LEGO instructions for examples). For this reason we do not want to render them 3D and do not want to show edges of 3D object either. So both these points you mentioned are intentional.

However, we do not want to create any problems with rendering so we should be always sure, for example, that these parts have both sides (top and bottom). This is what needs to be improved before publishing these files in the official library, as I noted above.
Reply
RE: Rubber arrow helper and more arrows
#8
(2021-07-14, 8:11)Milan Vančura Wrote: Hello Magnus.

These "parts" are special. No real bricks so rules for real bricks do not necessarily apply here. And your questions are perfect examples of such differencies: arrows are 2D because they are used more as "illustrations" in some instruction step (think about BUFFER EXCHANGE or look into original LEGO instructions for examples). 
I agree that 3D arrows actually look weird for this usage!
Quote:For this reason we do not want to render them 3D and do not want to show edges of 3D object either. So both these points you mentioned are intentional.
As we don't want the edges, the simplest is to remove all type 2 lines! I don't think even that condlines (type 5) are useful here.
Quote:However, we do not want to create any problems with rendering so we should be always sure, for example, that these parts have both sides (top and bottom). This is what needs to be improved before publishing these files in the official library, as I noted above.
The simplest is to add a BFC NOCLIP statement before all surfaces.
Reply
RE: Rubber arrow helper and more arrows
#9
I started a discussion in the SteerCo section.

w.
LEGO ergo sum
Reply
RE: Rubber arrow helper and more arrows
#10
I agree with Philo.

Remove all edge and condlines, since you dont want them. (Why add condlines on a 2D surface? )
Use a BFC NOCLIP, making the 2D surface visible from both sides.
Reply
RE: Rubber arrow helper and more arrows
#11
Just to make it clear:

The rubber arrow definition is LDCAD specific but I want to add it's building parts into the library anyway so the LDCAD metadata file for rubber arrow may point to them (arrow_tip, arrow_body). Then, anybody, in any program, can construct arrows from using these (sub-)parts, just manually or using features of his program.

Static arrows, which we want to include in the ldraw  library, are easier from this POV. And as I'm not an experienced part author, I'm ready for your advice about technical details. The goal is to have 2D part with no visible edges, OK for all ldraw programs to render. If it's OK for programs to render parts with no edges, we can make arrows in this way. But is it? (LDCAD, LDView, blacksmith, LPub3D internal viewer, other programs...)

What I want to include in this category - see attached zip archive:

1. a set of (static) straight arrows - Willy's set
2. a flat circle arrows ("rotation"): 90, 180 and 270 degrees - Willy's set
3. motion describing arrow ("fat ones"): one-way straight, two-way straight, rotation - Jaco's set
4. arrow_tip and arrow_body mentioned above
5. tick and cross marks - I have found some, authored "GL" EDIT: Gerald Lasser

Motion arrows and mark signs need more work: they are in ldr format, we need to convert them to dat files (not sure what this means, if anything). And they have a part origin somewhere strange, this should be fixed.

Motion arrows are with edges - remove them, too? I'm not 100% sure with these. Maybe these ones look better with edges.

A small example (current versions of helpers, no rubber one):

   


Attached Files
.zip   helpers.zip (Size: 12.46 KB / Downloads: 13)
Reply
RE: Rubber arrow helper and more arrows
#12
(2021-07-14, 14:20)Willy Tschager Wrote: I started a discussion in the SteerCo section.

w.

Thank you. SteerCo section is not public, it seems, so I added more details to this thread - about what I want to include to the helpers category and why. Please, forward this info to your discussion if needed.
Reply
RE: Rubber arrow helper and more arrows
#13
(2021-07-15, 7:39)Milan Vančura Wrote: Just to make it clear:

The rubber arrow definition ....

And when you write "rubber arrow" you mean a user bendable, flexible arrow?
Could you please make an example image of such an arrow?
Reply
RE: Rubber arrow helper and more arrows
#14
(2021-07-15, 14:23)Magnus Forsberg Wrote: And when you write "rubber arrow" you mean a user bendable, flexible arrow?
Could you please make an example image of such an arrow?

Sure, this is what we discussed with Roland at the beginning of this thread: LDCAD allows users to create flexible, bendable objects (hoses etc.), I used this feature and, beside those static subparts (arrow_tip and arrow_body), I created also the LDCAD definition file for flexible arrow creation.

Users can bend the arrow both in a plane and in 3D space, a picture tells more - I added three flexible arrows: top left blue one is "flat", the other blue one (top right, around axle) and red one are bent in 3D space, you can also see how the arrow goes through a hole in a part.


Attached Files Thumbnail(s)
   
Reply
RE: Rubber arrow helper and more arrows
#15
(2021-07-14, 14:20)Willy Tschager Wrote: I started a discussion in the SteerCo section.

w.

Willy, what's the result, please? Or should I help anyhow? Or just wait? Smile
How can I know the result of this private discussion?
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 3 Guest(s)