MoI discussion forum
MoI discussion forum

Full Version: Lots of unkown

Show messages:  1-8  9-28  29-48  49-68  69-88  89-108  109-128  129-148  …  369-372

From: Cemortan_Tudor
6 Jun 2020   [#69]
O hayo Michael !
I wanted to expand functionality of planarsrf & failed
from min 2 selected brep.edges make a line and combine together for a planarsrf

if (moi.geometryDatabase.getSelectedObjects().getEdges().numEdges > 1) is always 0
or
if (moi.geometryDatabase.getSelectedObjects().getpBreps().getEdges().numEdges > 1) is always 0

Selected edges dont have Id's ?
From: Michael Gibson
6 Jun 2020   [#70] In reply to [#69]
Hi Cemortan_Tudor,

re:
> if (moi.geometryDatabase.getSelectedObjects().getEdges().numEdges > 1) is always 0

Which version of MoI are you using? Over here with v4 this is working ok:

moi.ui.alert( moi.geometryDatabase.getSelectedObjects().getEdges().numEdges );




re:
> if (moi.geometryDatabase.getSelectedObjects().getpBreps().getEdges().numEdges > 1) is always 0

You've got a typo in there getpBreps should be getBreps() .

And also getBreps() will return an object list, then getEdges() called on that will only gather edges
that were directly in the object list, it won't gather the edges that are sub objects of the breps. For
that you've got to call getEdges() on a brep object, not on an object list. Something like:

var breps = moi.geometryDatabase.getSelectedObjects().getBReps();
for ( var i = 0; i < 1; ++i )
{
    var brep = breps.item(i);
    var edges_of_brep = brep.getEdges();
    moi.ui.alert( edges_of_brep.numEdges );
}




re:
> Selected edges dont have Id's ?

In v3 objects don't get IDs assigned to them until they are added into the geometry database. So if you have created a brep as a "loose object" that is not in the geometry database then it won't have IDs yet. In v4 this is different and ids are assigned when an object is created.

var edges = moi.geometryDatabase.getSelectedObjects().getEdges();
var ids = '';
for ( var i = 0; i < edges.length; ++i )
{
    ar edge = edges.item(i);
    ids += edge.id + '\n';
}

moi.ui.alert( ids );




- Michael

Image Attachments:
cemortan_edges1.jpg  cemortan_edges2.jpg  cemortan_edges3.jpg 


From: Cemortan_Tudor
7 Jun 2020   [#71]
using script to preview export wireframe
if u wanna u can modify path and it will export at that location, first time to work will need to override that file(fbx folder doest exist by default app)
change 'NoUI' to true will export without options

script: /* export fbx preview*/ var fbx_path = moi.filesystem.getAppDataDir() + '\\fbx\\preview.fbx';moi.geometryDatabase.fileExport(fbx_path, 'NoUI=False');
From: Cemortan_Tudor
7 Jun 2020   [#72]
Thanks Michael
here's the script
PlanarSrf
* added functionality to join 2 or more selected edges

Attachments:
PlanarSrf.js


From: Michael Gibson
7 Jun 2020   [#73] In reply to [#72]
Hi Cemortan_Tudor, does the attached version do what you were wanting?

This one will only work with MoI v4, some scripting things are simplified in MoI v4 like it doesn't require object inputs to async factories to be added to the geometry database.

- Michael

Attachments:
PlanarSrf_test.js


From: Cemortan_Tudor
7 Jun 2020   [#74] In reply to [#73]
yes, thats what i've wanted
u've reworked after all )))
I haven't read v4 script changelog
one future that i wanna add is to deselect edges and add factory to selection since most likely will be a join or union after that,
found only SelectLastCommandCreated from http://kyticka.webzdarma.cz/3d/moi/ and it works after end of the script
inside script with getCreatedObjects() will try to make planar from current selection -> error.
So it's good as it is !
thanks !
From: Cemortan_Tudor
8 Jun 2020   [#75]
mirror Y
selected objects will mirror only one direction on Y axis and will be renamed with mirrorY,
on next pushed button all mirror will be deleted and replaced with new one (getBoundingBox check)

Attachments:
_MirrorY.js


From: Cemortan_Tudor
8 Jun 2020   [#76]
addded 'R' hotkey for round corners
Rectangle
Rect3pts
RectCenter

I'd wish to combine all 3 together under one runtime fuction with option to change to another one, later mb will do
also wanna ask if is any rect3pts with a center point , mirror being the first point, on axis of second

Attachments:
GetRect.js
GetRect3pt.js


From: Michael Gibson
8 Jun 2020   [#77] In reply to [#76]
Hi Cemortan_Tudor,

re:
> <...> any rect3pts with a center point , mirror being the first point, on axis of second

Sorry I'm not understanding this part, can you make a sketch to illustrate it?

- Michael
From: Frenchy Pilou (PILOU)
8 Jun 2020   [#78]
@ Cemortan_Tudor
Have you somewhere a place where we can find all your new functions ?
From: Cemortan_Tudor
8 Jun 2020   [#79]
selection 1, 2 ,3
red square should be as mirror, final result should be 2, 3 and right bottom corner of red square
could be written, i'm asking if smt like this was done before

Image Attachments:
Screenshot_16.png 


Message 8665.80 was deleted


From: Michael Gibson
8 Jun 2020   [#81] In reply to [#79]
Hi Cemortan_Tudor, sorry the part I don't understand is if you want to make a mirror of an existing rectangle why not use the Transform > Mirror command (or Transform > Copy) to do it rather than rectangle 3 pts?

However if you do want to use a 3 point rectangle for that you can use Construction lines to do point mirroring. When you place a construction line the mirrored end is available as a snap point. Here's an example:



- Michael
From: Cemortan_Tudor
8 Jun 2020   [#82]
Thats the desired action, result
i'm doing now in 2 ways. except manual
1. make a rectangle, mirror, adjust, union
2. make a rectangle with center, move, adjust points

Image Attachments:
Screenshot_17.png 


From: Michael Gibson
9 Jun 2020   [#83] In reply to [#82]
Hi Cemortan_Tudor, I'm not sure if I understand correctly but if you want to make a rectangle with 3 points but with the first point being at the midpoint of the rectangle's edge you can do that now by placing one construction line at the start to get the snap points you need. When you create a construction line the mirrored point is available as a snap point to enable things like this:



- Michael
From: Cemortan_Tudor
9 Jun 2020   [#84] In reply to [#83]
by u'r method, selection i've done to show proportions
they are not equal

Image Attachments:
Screenshot_18.png 


From: Michael Gibson
9 Jun 2020   [#85] In reply to [#84]
Hi Cemortan_Tudor, I think you're maybe not targeting the point that you need?

If you start a construction line here:


And end it here:


Then you will have 4 "end" snap points available. Those 2 above where and an additional one here:


And another one here:


For what you want, you want to target these 2:


You do not want to target these 2:


There will also be a "Mid" snap available here, you don't want this one either for this particular use.


- Michael

Image Attachments:
cline_mirror1.jpg  cline_mirror2.jpg  cline_mirror3.jpg  cline_mirror4.jpg  cline_mirror5.jpg  cline_mirror6.jpg  cline_mirror7.jpg 


From: Michael Gibson
9 Jun 2020   [#86] In reply to [#84]
Another demo:



- Michael
From: Cemortan_Tudor
9 Jun 2020   [#87]
thanks, my fault, it makes a point snap upon releasing construction lines, it's not interactive
i'll build a tool for myself

Message 8665.88 was deleted


Show messages:  1-8  9-28  29-48  49-68  69-88  89-108  109-128  129-148  …  369-372