Is there a better way than MeshtoNURB?

Hello - I’ve a large city model where all of the topography and buildings have come in as mesh’s. I’ve rebuilt some, but to do the rest would probably take me a month.

The file size is huge as and I basically want to avoid having to remodel each building from scratch. I’m wondering if any one knows a work around? Any plugins which might help? Any advice appreciated.

Thank you.

Why can’t you work with the mesh geometry?

1 Like

Good question. I guess because it’s a 500mb file as is and I don’t have a super-computer. Using native NURBS solids and Polysurfaces, in my head, would drastically reduce file size. I’d like to apply the make2d command down the line also.

I don’t think it will reduce the filesize unless there is a lot of coplanar faces or the geometry can be simplified slightly and rebuilt with surfaces.

If your computer is too slow, maybe working in wireframe mode helps…

1 Like

Try to use as many blocks as you can and/or split in various files ( _worksession) to limit the load

1 Like

What we do is join meshes based on material so we have as few meshes as possible. That,s important for speed.

And then link the file into (insert) the main Rhino file. This eay we don’t need to save all the mesh data every time we save the main Rhino file.

Oh, and meshes are great, if you rebuild to nurbs Rhino still needs to mesh those and saves this rendermesh with the nurbs.

2 Likes

That depends on how dense the mesh is compared to the geometry, and how much detail is needed. If the mesh was created from a scan point cloud or similar then the mesh may be fine compared to the geometry.

1 Like

Worksession can be used for this in Rhino for Windows.
Have the mesh in a separate file.
Open the file with the geometry you are working with, and where you will create new geometry.
Start Worksession
Attach the file with the mesh.
Close Worksession.
The mesh is now available for reference, but cannot be modified.

If you need to modify the mesh then start Worksession and make the file with the mesh to be the active file.

Last I checked Worksessions didn’t like dropbox if dropbox was installed on different drives on different machines. Neither did it handle backing up of projects, if a file went missing it was just deleted from the worksession. And we had to save worksessions seperately from the Rhino file. So for us using inserted files instead makes much more sense.

If worksessions have improved lately and you vouch for it I am willing to try it again. Do you use it in a multi user/ multi machine setting?

Sounds like you are in a different situation than I am in, and the situation I understood the original poster is in. I routinely use Worksession to attach reference files including large meshes while keeping the reference files separate from the file(s) with the active geometry. I work by myself on one machine. That is what I recommend Worksession for. No experience with using Worksession with multiple users, multiple machines, files stored in the cloud,

1 Like

this creates a menu for changing drawing in current Workswssion


sub WS_Cambiar_de_Dibujo()
	arrWSAliases=Rhino.WorkSessionModelAliases'''''Rhino.WorkSessionFileName ()
	rhino.print typename(WSAliases)
	if isNull(WSAliases) then rhino.print "Either there is no worksession file open, or the active worksession has not yet been saved":exit sub
	arrWSModelNames=Rhino.WorkSessionModelNames ()
	arrWSAliases = Rhino.WorkSessionModelAliases()
	redim arrEstados(Ubound(arrWSAliases))
	for I=o to Ubound(arrWSAliases)
		if arrWSAliases(i)=Rhino.DocumentName () then
			arrEstados(i)=3
			'''arrWSAliases(i)=arrWSAliases(i) & "  (Actual)"
		else
			arrEstados(i)=0
		end if
	next
	
	intActual=rhino.PopupMenu(arrWSAliases,arrEstados)
	if intActual=-1 then exit sub
	Dibujo="""" & arrWSModelNames(intActual) & """"
	rhino.print "Cambiando a " & Dibujo
	rhino.command "_Noecho -_worksession Actual " &  Dibujo & " _EnterEnd"

 end Sub
 WS_Cambiar_de_Dibujo
 

the button command is

! _noecho
-_RunScript (

on error resume next
WS_Cambiar_de_Dibujo

if err.number <> 0 then
on error goto 0
	rhino.command "-_LoadScript " & CHR(34) &  "WS_Cambiar_de_Dibujo.rvb" & CHR(34)
	WS_Cambiar_de_Dibujo

end if
)

saved as

WS_Cambiar_de_Dibujo.rvb

search parh to the file