MoI discussion forum
MoI discussion forum

Full Version: Dimension tool (as in sketchup)

Show messages:  1-17  18-37  38-57  58-77  78-97  98-117  118-137  138

From: Michael Gibson
6 Jul 2015   [#58] In reply to [#57]
Hi Max, re: make curves instead of surfaces, open the file _Dimensions.htm in a text editor, and edit the line that creates the text factory. It's this one here:

var text = factory ('text', moi.VectorMath.createTopFrame(), tx, fontName, false, false, 'surfaces', textSize, 0, false);

Edit that to replace 'surfaces' with 'curves' and then it will make curve text rather than surface text.

- Michael
From: Frenchy Pilou (PILOU)
6 Jul 2015   [#59] In reply to [#58]
<< it will make curve text rather than surface
And for the Arrows ?
From: Max Smirnov (SMIRNOV)
6 Jul 2015   [#60] In reply to [#59]
>>And for the Arrows ?

I don't like this idea. If you need curves you can click Dimensions style, select all, select edges, ctrl+c, ctrl+v. It will take 3-4 seconds.
My script works correctly with surfaces only. If you change surfaces to curves, snapping will be enabled for all objects including anotations and dimension lines.
From: Frenchy Pilou (PILOU)
6 Jul 2015   [#61] In reply to [#60]
No problem! :)
From: christian (CHRI)
6 Jul 2015   [#62] In reply to [#55]
it is better to turn outside the circle , explanation on the next POST :
il est préférable de tourner en dehors du cercle, explication dans le prochain POST:

Chri
From: christian (CHRI)
6 Jul 2015   [#63] In reply to [#62]



Image Attachments:
NO.gif  YES.gif 


From: Max Smirnov (SMIRNOV)
6 Jul 2015   [#64]
v.0.9a (fixed: division by zero bug)

This will be in the next version. Of course there will be degrees instead of cm.

From: Max Smirnov (SMIRNOV)
6 Jul 2015   [#65]
wastzzz
replace line: arrow = concat ( factory ('planarsrf', arrow), text);
with: arrow = concat (arrow, text);

christian
Pilou wrote about this problem. It has been fixed.
From: Frenchy Pilou (PILOU)
6 Jul 2015   [#66] In reply to [#64]
<< Of course there will be degrees instead of cm.

And also i suppose any text you want? (with the help of "|" and "*") ;)
From: Max Smirnov (SMIRNOV)
6 Jul 2015   [#67] In reply to [#66]
Pilou, yes.
From: Frenchy Pilou (PILOU)
6 Jul 2015   [#68]
Another little thing! :)

When you increase the line ( with your option Concat above) you can have some cool forms!

But the position of text is not following! (sure I can move it in a second but when you have 100 dimensions... ;)



Can we have an enter Box of distance text or similar ? (text can be inside or outside in this last case )
From: Max Smirnov (SMIRNOV)
9 Jul 2015   [#69]

From: Frenchy Pilou (PILOU)
9 Jul 2015   [#70] In reply to [#69]
Cool but how it's work ? :)
I see a new Type 6 but...
From: blowlamp
9 Jul 2015   [#71] In reply to [#70]
Use Arrow type 6 and press the CTRL key whilst clicking on the corner point.


Martin.
From: Frenchy Pilou (PILOU)
9 Jul 2015   [#72] In reply to [#71]
Must be another thing because that dimension length not angle! ;)



Ah I have found! You must disable Units! :)



Ps Does it be possible to dimension a curve ?
(maybe in connexion with CurveLengthBeingDrawn ?
or CurveLength?

script: /* Show CurveLengthBeingDrawn */ try { moi.ui.commandUI.setInterval( 'var crvs = moi.geometryDatabase.getObjects().getCurves(); var len = 0.0; if ( crvs.length > 0 ) { len = crvs.item(crvs.length-1).getLength(); } if ( !window["_crvdistlabel"] ) { document.body.insertAdjacentHTML( "beforeEnd", "
" ); } _crvdistlabel.innerText = len.toFixed(4);', 250 ); } catch(e) {}

script:/* Calculate length of selected curves and copy to the clipboard as text */ var crvs = moi.geometryDatabase.getSelectedObjects().getCurves(); var len = 0.0; for ( var i = 0; i < crvs.length; ++i ) len += crvs.item(i).getLength(); moi.copyTextToClipboard( len );

Something like this but with the Arrowline following the curve! :)



French version! :) http://moiscript.weebly.com/cotations.html



Pss We can't dimension an arc circle >180° !


From: Yuan
9 Jul 2015   [#73]
Great job Max, Thanks!
-Yuan

Image Attachments:
Dimensions_01.png 


From: Mik (MIKULAS)
10 Jul 2015   [#74]
Hi Max,

angle measurements is excellent feature!

Thank you very much.

I've adjusted slightly the function of Arrow type 5. In new version the length of line is controlled by text length, see bellow please.

Old version:



New version:



I've increased the Scale value to 100 as well, because 40 was not sufficient for bigger models.

Thanks again for perfect script.

Mik

Attachments:
Dimensions.v.0.95.2015.07.10.zip

Image Attachments:
Arrow type 5 new.gif  Arrow type 5 old.gif 


From: christian (CHRI)
10 Jul 2015   [#75] In reply to [#74]
Hi Mik


About length of line...

Since version 0.9.2015.07.06 you need to use the new Mode (with CTRL) with arrows 4 and 5

please take a look at the post of Max ( 4 jul 2015 )

same thing with mode 6

clic on the picture below to see my example .

Chri

Image Attachments:
Mik.gif 


From: christian (CHRI)
10 Jul 2015   [#76] In reply to [#75]
hi

Small change in the script _Dimensions.htm to increase decimal
( SUBSTITUTE 0 BY 2 IN THE SCRIPT )

clic on the picture below to see my example .

Chri

Image Attachments:
1 before.png  2 after.png  3 file.png 


From: Mik (MIKULAS)
10 Jul 2015   [#77]
Hi Chri,

thank you for post.

Length of dimension line in my first version of Arrow type 5 was controlled by distance between "first click" and "second click". No problem with it when you use it for radius length which is larger than text length. The problem appears typically if Scale value is high and radius small, scale value 40 + radius 1 mm for instance, contrariwise with large radius (100 mm) the length of dimension line is 100 mm as well and it's uselessly long. Please see picture "Old version" in my previous post for example.

In new version you can use the maximal Scale value + minimal or large radius and the length of the line will be a bit longer than text length, exactly 2x longer than arrow length :)

Mik

Show messages:  1-17  18-37  38-57  58-77  78-97  98-117  118-137  138