Show messages:
1-14
…
115-134
135-154
155-174
175-194
195-214
215-234
235-254
…
355-372
From: Cemortan_Tudor
i'm messing with bool operations difference operations to see all the states for curves
so ~ there's a glitch
on a shape like this with keep objects will delete 'baseobjects'
Attachments:
bool_tests1.3dm
Image Attachments:
Screenshot_21.png
From: Michael Gibson
Hi Tudor, yes the curve booleans can get confused if you do a boolean between an open curve and a closed curve like that.
You can do an open curves as the base object and a closed curve as the cutter but a closed curve as the base object and an open curve as the cutter will tend to make some weird results. I would recommend to avoid using that combination.
- Michael
Message 8665.177 was deleted
From: Cemortan_Tudor
Hi Michael !
I have a dream ))
Editpoints manipulation in 3dSpace if not snapped-> dragging ->
http://moi3d.com/forum/index.php?webtag=MOI&msg=8665.117
toogle option
1. accordingly to the 3d view drag should change grid orientation : xy,xz,yz based on pickedpoint drag start position (similar to
http://moi3d.com/forum/index.php?webtag=MOI&msg=8665.141)
2. view frame moi.ui.getActiveViewport().targetFrame
I've tried move command - but it requires to many actions for manipulation (for each -> select, move, axis or frame, drag)
this way we won't be snapped to orto views
about
http://moi3d.com/forum/index.php?webtag=MOI&msg=8665.142 - only on init - we can cancel align and do new one if camera changes
From: Michael Gibson
Hi Tudor, sorry no there isn't a method set up to do what you wan there. Since MoI is designed as a type of CAD program, it has an overall focus on accuracy and not on mushing points around in random directions.
There are other programs that are focused on that type of object manipulation. If that type of operation is important for your work you would be better off using one of those programs that is designed for that type of task rather than MoI which is not designed for that type of work currently.
- Michael
From: Cemortan_Tudor
It's true that i'm trying to achieve common environment for modeling - hard surface - will be neat future for history sweep update (shape creation)
Here comes a question - I know disable update - will disable sweep's update(idk others which can update) but manual update on what it works ? -> enable history ?
pointpicker.bindFunc() & pointpicker.bindFuncPostUpdate() - differences, references, other wiki locations !
Also with last v4 version will be possible to achieve this future -
https://github.com/heimlich1024/OD_CopyPasteExternal
copy/paste obj extension between softwares !
by moi.filesystem.getDirs() as all files are in %system%\Windows\Temp folder
//on git Author use version of Smirmov's import obj future that has ~ normalize and ~ move actions (need digging to understand what they are for, if u know the answer !) - as script -> It should copy/replace same object on same position in different softwares !
From: Michael Gibson
Hi Tudor,
re:
> Here comes a question - I know disable update - will disable sweep's update(idk others which can update) but
> manual update on what it works ? -> enable history ?
It can be enabled on the results from any command except the Array commands which do not emit history records on objects because it can increase file size on larger arrays by quite a bit. The main limitation to the history function though is that it needs to be able to find the input objects in the current geometry database for it to use them for a recalculation. If the original objects have been removed that will break history updates.
> pointpicker.bindFunc() & pointpicker.bindFuncPostUpdate() - differences, references, other wiki locations !
bindFunc() will make the pointpicker call to the given function before it updates factory inputs and the function can provide the current point value on the pointpicker that will then get pushed to the factory inputs. bindFuncPostUpdate() will make the pointpicker call to the given function after the update sequence has happened so it can look at the results of the update.
> Also with last v4 version will be possible to achieve this future -
https://github.com/heimlich1024/OD_CopyPasteExternal
> copy/paste obj extension between softwares !
> by moi.filesystem.getDirs() as all files are in %system%\Windows\Temp folder
I think that system is already working with MoI v3 and v4.
> //on git Author use version of Smirmov's import obj future that has ~ normalize and ~ move actions
> (need digging to understand what they are for, if u know the answer !) - as script -> It should
> copy/replace same object on same position in different softwares !
I think that Max noticed that some programs make .obj files that happen to be at what is considered an unusually small or large scale in MoI, and so he implemented a method to rescale objects to a more normal size when they are read in which is enabled by default. But that is not good for keeping unit sizes the same and so there is an "exact" command line parameter that you can pass in to the script to turn that off:
http://moi3d.com/forum/index.php?webtag=MOI&msg=6674.453
- Michael
From: Cemortan_Tudor
move - expanded first actions - move + x/y/z/a initial conditions (earlier script respond after first pickedpoint)
s - bbox center
extrude - do backup as part is havelly changed from vanilla
p path
b both directions
c cap ends
d directional // changed - removed distance line and input distance (slightly buggy on surfaces if keypressed while moving mouse - I think it can't update in time and skips update factory)
f tapered/flip tapered
Numpad+ increase tapered angle by 15
Shift+Numpad+ increase tapered angle by 5
Numpad- decrease tapered angle by 15
Shift+Numpad- decrease tapered angle by 5
removed t as hotkey
boolean difference
for closed curves
initial and subtractive if both are on same parallel frame but different frame
move subtractive group to initial and do the boolean difference (made for side views where u see that u have 2 circle's but u cannot subtract cuz they have different frames)
Attachments:
BooleanDifference.js
Extrude.js
Move.js
From: Cemortan_Tudor
crv.evaluateCurvature - how can I access first and second pt of vector ? -> tried -> [], item(), getStartPt()
From: Michael Gibson
Hi Tudor,
re:
> crv.evaluateCurvature - how can I access first and second pt of vector ? -> tried -> [], item(), getStartPt()
There is not a first and second point returned, it returns one vector value (with .x, .y, .z - same as a point) for the curvature vector (K) of the curve in the osculating plane at that parameter value. Radius of curvature = 1 / Magnitude K.
https://en.wikipedia.org/wiki/Curvature#Osculating_circle
- Michael
From: Michael Gibson
re: crv.evaluateCurvature, here is some test code. Make a curve, select it and then push the Tab key and paste this in to the XYZ input control:
var crv = moi.geometryDatabase.getSelectedObjects().getCurves().item(0);
var pt = crv.evaluatePoint( crv.domainMin );
var K = crv.evaluateCurvature( crv.domainMin );
var f = moi.command.createFactory( 'line' );
f.setInput( 0, pt );
f.setInput( 1, moi.vectorMath.add( pt, K ) );
f.commit();
That will make a line showing the curvature vector. The radius of curvature is 1 / length of that line.
Curvature vectors are generally scaled up by quite a bit when used for visualization purposes. They tend to be small in their direct form.
- Michael
From: Cemortan_Tudor
thanks ! that's what i've needed !
From: Cemortan_Tudor
how can I get toplevel from a selection (ex:face or edge to object)
From: Michael Gibson
Hi Tudor,
re:
> how can I get toplevel from a selection (ex:face or edge to object)
var toplevel = subobj.getTopLevelParent();
- Michael
From: Cemortan_Tudor
Hi Michael !
is it possible to attach moi-html to chrome to have futures like object explorer/building html ?
or other ways to debug
From: Michael Gibson
Hi Tudor,
re:
> Hi Michael !
> is it possible to attach moi-html to chrome to have futures like object explorer/building html ?
> or other ways to debug
No, not currently. In the future I want to have a script debugger in MoI, it will involve a lot of work to make that happen though.
- Michael
Message 8665.191 was deleted
From: Cemortan_Tudor
Hi Michael !
I think this should rise an error
createPoint(moi.vectorMath.add(obj.getStartPt(), scaleVector(obj.evaluateTangent(obj.domainMin), -1))).commit() - correct state
createPoint(moi.vectorMath.add(obj.getStartPt(), scaleVector(obj.evaluateTangent(obj.domainMin)),-1)).commit() - should rise -> it creates an null point
function scaleVector(v, factor) ... return moi.vectorMath.createPoint(x,y,z)
From: Cemortan_Tudor
Hi Michael !
I'm working a script & I wanna optimize it ! it uses a lot of moi.vectorMath.add()
wanna ask what's the math behind that function ? mb will improve runtime (not to call internals todo math operations )
From: Michael Gibson
Hi Tudor,
re:
> it uses a lot of moi.vectorMath.add()
> wanna ask what's the math behind that function ?
Like this:
var PtA, PtB, Result;
<......>
Result.x = PtA.x + PtB.x;
Result.y = PtA.y + PtB.y;
Result.z = PtA.z + PtB.z;
- Michael
Show messages:
1-14
…
115-134
135-154
155-174
175-194
195-214
215-234
235-254
…
355-372