I frequently spend time moving the camera around a mesh and fine-tuning just the right angle etc to view some feature, and would like to be able to easily save and restore that view for use in another session with the same or a different mesh, or to send the view to a colleague, etc. Ideally this would export / import XML or json directly to/from the system clipboard. Is this possible ? If not, where's an appropriate place to make such a feature request ?
Since meshlab-2016, you can save current camera configuration between sessions or send it to somebody, just by clicking in the menu Windows->Copy shot, which will paste into your clipboard a chunk of XML text like this:
<!DOCTYPE ViewState>
<project>
<VCGCamera TranslationVector="-11.8361 18.817 -14.9087 1" RotationMatrix="0.897925 0.384971 -0.213371 0 -0.0662652 0.597485 0.799138 0 0.435131 -0.703427 0.562007 0 0 0 0 1 " CenterPx="452 309" CameraType="0" ViewportPx="905 619" FocalMm="19.7896" PixelSizeMm="0.0369161 0.0369161" BinaryData="0" LensDistortion="0 0"/>
<ViewSettings TrackScale="0.112629" FarPlane="8.49669" NearPlane="0.303109"/>
</project>
you can save that piece of text on a file or send to a colleague by email.
To restore the position of the camera, just copy the text from your file or email to your clipboard and choose the option Window->Paste shot
Also, current pre-release version of meshlab has included 4 new buttons that allow to store and recall 4 camera positions (called "Views" in their argot) , but they are not stored between sessions.
And last, if you want to ask for a new feature or report a bug to meshlab developers, you can leave a message in https://github.com/cnr-isti-vclab/meshlab/issues . Please be nice, and try to provide a minimal reproducible example in case you are reporting a bug. Don't forget to include which meshlab version are you using.
Related
I occasionally do some work in OpenSCAD on Fiverr. Instead of sending 100 screenshots each day I would like to provide my clients with a live 3D preview of the object. But I need to do this without giving the source away (in the past I have been naive enough to get scammed this way).
I want my clients to be able look at the live 3D view without being able to see the source code.
For example, the following is a possible solution I was thinking of: hardcode the contents of the .scad file into a string inside an executable. Then start OpenSCAD with this string but only show the preview window, without the client being to look at the code.
You can, in fact, use the openscad.exe to generate a preview from a .scad file:
& "C:\Program Files\OpenSCAD\openscad.exe" --preview --camera=0,0,0,45,45,0,200 test.scad -o test.png
However, there are two problems with this method. 1. It only generates a PNG, I need my clients to be able to pan and zoom. 2. It needs a local file. I could generate a tmp file, open it with above command and then quickly delete the file.
Consider sending an STL file for them to look at. OpenSCAD can export to STL. There are two versions of STL: ascii and binary. OpenSCAD outputs the binary form. Your clients could view your STL file in something like viewstl.com.
Since they could 3d print from the STL you might consider adding some watermark type textures or features that would be difficult to remove. Another option would be to change some key dimensions enough to make it unusable but not so much that it looks bad.
I wants to move SymbolLayer icon on the map layer as per the position change, move like as a marker. In the latest Mapbox update, MarkerView and MarkerViewOptions is deprecated. So I want to move the SymbolLayer icon.
Please help me to make it work.
Thanks
There are several ways you can do this and it's kinda' dependent on what type of source + layer you're going to use. First read https://docs.mapbox.com/android/java/overview/geojson/#geojson-updates
https://docs.mapbox.com/android/maps/examples/animate-marker-position/
If you're using a GeoJsonSource, you'll set new geojson on the source when you know the new coordinate(s) that you want the SymbolLayer icon to move to https://github.com/mapbox/mapbox-android-demo/search?q=setGeoJson. Make sure you're updating the GeoJsonSource that the SymbolLayer is using.
There's the annotation plugin, which handles lots of the layer/source boilerplate code you'd have to ordinarily write: https://docs.mapbox.com/android/plugins/overview/annotation/. symbol.setLatLng(); and symbolManager.update(); will be helpful. See https://github.com/mapbox/mapbox-plugins-android/blob/master/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp/activity/annotation/SymbolActivity.java and https://docs.mapbox.com/android/plugins/examples/symbol-listener/
Oy I'm doing some animations in Maya 2019 and I have some issues once exporter in Unreal Engine 4.20.
For exporting I use the File > Game Exporter menu. (Any other export workflow I tried so far resulted in a freezing import in Unreal).
Everything goes well using the Game Exporter, I do have some errors when imported in UE4 but it all looks fine, except for one thing:
My character's face is all messed up. After some digging, I discovered it's all about some of the face's morph targets having insane values:
If I manually put all those insane values to 0, everything looks fine. What could cause this?
If I check the mesh asset, the morph targets are limited from -1 to 1 and they look as they should look when I move the slider.
The errors I have when importing my animation are:
Imported bone transform is different from original. Please check Output Log to see detail of error.
Mesh [Geometry have no name] in the fbx file is not reference by any hierarchy node.
Thanks for any help.
Sometimes the hard way is actually the simplest way.
I couldn't have anything working using Game Exporter or using plugins, so I made myself a script for baking my animation including my corrective morphs and exported the result in FBX 2018. It works.
So here's how I made up my script:
First I selected my export selection set (it contains my geometry and deforming joints), then clicked Key > Bake Simulation (you have to be in Animation set menu to have the key menu displayed). I open the script editor and copy the command line starting by "bakeResults" (it's easy to find it if you have selected plenty of things just before: it's a massively long line at the end of the script editor).
From there I have my script base, but it doesn't include the baking of my blend shapes.
So, for each object with blend shapes to bake:
select the object in the outliner
double click its blend shape input in the channel box
copy its name
paste it at the end of the script, just before the };
make sure to respect the syntax: each list element must be between two " and separated with a comma and space , . No comma nor space after the last element before };
It looks something like this:
bakeResults -simulation true -t "1:60" -sampleBy 1 -oversamplingRate 1 -disableImplicitControl true -preserveOutsideKeys true -sparseAnimCurveBake false -removeBakedAttributeFromLayer false -removeBakedAnimFromLayer false -bakeOnOverrideLayer false -minimizeRotation true -controlPoints false -shape true {"element_to_bake", "another_thing_to_bake"};
But with much more elements in the list.
Notice the -t "1:60" in the line: it's the frame range you want to bake. You will need to adapt those numbers to your needs.
Once you have this line, I recommend you save it in a file somewhere.
To use it, SAVE YOUR PROJECT BEFORE BAKING, then paste the script in the MEL command line at the bottom left corner of the UI, adapt the time range if needed, then press ⏎ ENTER to execute the baking script.
When the baking is finished, you can export your FBX and then reload your saved project file.
Forgive my ignorance. I'm a web developer tasked with integrating an app with AutoCAD and I have no experience with the software or CAD files in general.
I have hooked it up to A360 and the Forge APIs and now I'm looking to modify drawings using scripts uploaded to the Design Automation API. What I need to do is add part numbers and some other data generated by the app to the drawings. I have the following script I've managed to get working which is a very basic version of what I need to achieve.
; Add a label to a drawing
-mtext 0,300 400,310 App data
Tag No: P1234567
Created: 29/09/16
; Define Attribute
-attdef
i
P1234567
tag
-
0,200
10
0
; end
This script adds an MTEXT and ATTDEF to a drawing with a bit of basic data. What I want to do is position the labels at the bottom right of the drawing.
Is it possible to get the position of the drawing from somewhere so the script can figure out where the bottom right is? Ideally it needs to work no matter where the creator has positioned the drawing.
Bonus points: I'd also like to put this data into the drawing metadata somehow, would this be beneficial and how would be the best way to achieve this?
Thanks in advance.
If you would still like to do it in Modelspace, and you can control the drawings, it is possible to achieve this by finding the position of blocks with specific names.
Example: http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/find-a-block-and-get-it-s-insertion-point/m-p/3309261#M302014
id like to make an editor similar to OmniGraffle. Basic functionality:
1) add objects
2) live resize objects
3) per object context menu
4) ability to connect objects with a curve so dragging one object would constantly redraw connected curve
Is there any open source libs for that? If not, how do i make my own? Each object should be represented by a layer or it has to be drawn using CG or maybe i'll need display link. Please advice
To start with, you can refer the Sketch example from Apple Developer Examples.With Mac OS 10.6.x, it is available in the folder /Developer/Examples
This example has basic events handling like drawing on mouse Down etc .