Lots of unkown
 1  …  262-281  282-301  302-321  322-341  342-361  362-372

Previous
Next
 From:  Cemortan_Tudor
8665.302 
PolyCut updated, solved random issues
select one curve/solid - run the script
will change perspective to isometric
1. for solids/breps -> works in all views
2. curves - only in orto (moi doesn't perform booleans of random plane/frame curves)
right click to close the curve, or u can close manually
- Tudor -

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.303 
select last created is not working after deleting any object
- Tudor -
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.304 In reply to 8665.303 
Hi Tudor,

re:
> select last created is not working after deleting any object

Yes that's normal. Select last created (by using moi.geometryDatabase.selectLastCreated();) selects whatever geometry was created by the last run command.

When you run the Delete command, that becomes the last run command and so then select last created will select whatever was created by the Delete command which will be nothing if you deleted an entire object, but other cases like the result of deleting only some faces or control points will be selected.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.305 
any tips how to use shrink trimmed surface, or where it can be used ?
- Tudor -
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.306 In reply to 8665.305 
Hi Tudor, if you start with a complex surface and then boolean or trim away a large portion of it:






the original full surface is still there as the "underlying surface":




If you apply ShrinkTrimmedSrf to this, it will shrink down the underlying surface and cut out areas outside of the trim curve boundaries:



This can reduce surface complexity in cases like this and sometimes there can be problematic things like self intersections in other areas of the underlying surface that could interfere with some kinds of calculations.

Usually it is good to keep the full original surfaces because it makes repair operations by untrimming easier but if it's a very complex surface it can carry a lot of data size.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.307 
problems with export as fbx/obj
fillets are not native
- Tudor -
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.308 In reply to 8665.307 
Hi Tudor, it looks like maybe the object is inside-out. Try selecting it, then run Edit > Separate followed by Edit > Join. That seems to get its orientation set up ok.

Also your object is at a very small scale of only 0.02 units across. Try scaling it up by 100 times before meshing it, that will avoid some points from getting merged together.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.309 
constant fillet fails on curves and not on surfaces, weird
- Tudor -
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.310 In reply to 8665.309 
Hi Tudor,

re:
> constant fillet fails on curves and not on surfaces, weird

Prior to v4, constant radius fillet was not available for curves at all, as of v4 it works on line segments:

https://moi3d.com/wiki/V4Beta#Feb-27-2019
quote:

Update curve filleting - Enable "Constant distance" fillet mode for curves, currently only works for line segments.


- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.311 
could be implemented in next version ?
- Tudor -
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.312 In reply to 8665.311 
Hi Tudor,

re:
> could be implemented in next version ?

Sorry, no probably not, it's not supported by the geometry library currently.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.313 
can't find script for "select similar edge length"
- Tudor -
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.314 In reply to 8665.313 
Hi Tudor,

re:
> can't find script for "select similar edge length"

Is it one in this thread? :
http://moi3d.com/forum/lmessages.php?webtag=MOI&msg=8905.1

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.315 
not quite that i'm searching for
there's a filter for curves biggest, smallest, or min/max , but I'm searching for edges
example - extrude taped, select one side edge of taped - run the script -> fillet/chamfer
or draw a rectangle, extrude by x amount, select 1 edge of height - run the script, or select the edge of original rectangle run the script

i've forgot lots of moi's scripting
select desired edge
moi.geometryDatabase.getSelectedObjects().getEdges().item(0).getLength(); get's edge selection length
get parent object(want only for current selection, in case there are duplicates of same object), get edges, loop through edges, if there's similar length - select

or if i Have a selected edge how can i get object numEdges count for the loop
by my understanding it should be ~ moi.geometryDatabase.getSelectedObjects().getTopLevelObjects().item(0).getEdges().numEdges
moi.geometryDatabase.getSelectedObjects() -> selected
.getTopLevelObjects() -> object itself
.item(0) - object nr
.getEdges() - all the edges
.numEdges - count edges
that doesn't work

EDITED: 7 Aug 2021 by CEMORTAN_TUDOR

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.316 In reply to 8665.315 
Hi Tudor, the problem in your script there is this part:

> .getTopLevelObjects() -> object itself

All the " getXXXXX()" methods on an object list do are filtering mechanisms, they make a new list that only contains the given types that are already present in the current list.

So if you had an object list with 2 objects in it, an edge and a brep, when you call getTopLevelObjects() it would return a list with just the brep in it, that's the only top level object currently in the list.

If you have an object list with just one edge in it, calling getTopLevelObjects() on it will return an empty list because there are no top level objects directly in the list currently.

You need to instead do something like this:

var objs = moi.geometryDatabase.getSelectedObjects(); if ( objs.numEdges == 1 ) { var edge = objs.item(0); var edges = edge.getParentBRep().getEdges(); moi.ui.alert( edges.length); }

So get the edge object, call getParentBRep() on it to get the parent brep, then call getEdges() on that.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.317 
thanks !

/* select similar length edge*/
var edgeSelected = moi.geometryDatabase.getSelectedObjects().getEdges().item(0).getLength();
var objs = moi.geometryDatabase.getSelectedObjects();
var tollerance = 1000;
if ( objs.numEdges == 1 ) {
var edge = objs.item(0);
var edgeL = objs.item(0).getLength();
var min = edgeL - edgeL/tollerance;
var max = edgeL + edgeL/tollerance;
var edges = edge.getParentBRep().getEdges();
for ( var i = 0; i < edges.length; ++i ) {
var edgeLoopL = edges.item(i).getLength();
if ( edgeLoopL> min && edgeLoopL< max)
edges.item(i).selected = true;
}
}
- Tudor -
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Cemortan_Tudor
8665.318 
idk if fillets will be changed for v5
~ an addition - last created on fillet failed, but building the supported faces - to select new created faces
- Tudor -
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.319 In reply to 8665.318 
Hi Tudor, you can select faces that were created by the last run command by using this script in v4:

script: /* Select fillet surfaces */ moi.geometryDatabase.deselectAll(); var breps = moi.geometryDatabase.getLastCreated().getBReps();
for ( var i = 0; i < breps.length; ++i ) { var faces = breps.item(i).getFaces(); for ( var j = 0; j < faces.length; ++j )
{ var f = faces.item(j); if ( f.isNew ) f.selected = true; } }

So for example after doing a fillet that will select all the fillet surfaces.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
8665.320 In reply to 8665.319 
Cool !

And something for select only "Flat Faces" ? (not especially after the last function)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
8665.321 In reply to 8665.320 
Hi Pilou, planar faces can be selected using the detailed object properties dialog.

Select the solid first, then click "Details...", then click the label where it shows the number of faces, then click the label that shows the number of planar faces.

There will be another way in v5 using the Types section of the scene browser.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1  …  242-261  262-281  282-301  302-321  322-341  342-361  362-372