RCTools updates

Plugins linking to this thread: (hide)

RcTools 5.3Author: Reinhard Claus
Updated April 2013 — 5.3's main new feature TopoClipboard lets you copy map data from a point/edge/polygon/sample selection and paste it somewhere else one the same, or a different mesh into a selection that has the same »shape« as the first selection. Works also for complete selections which makes sense when pasting across two meshes that have the same topology, but differing point orders. TopoClipboard transfers: Vertex Colors UVs Envelope weights (with a remapping option) weight maps tangents point positions (local »shape« of the selected area). Works across different maps of the same type and across scenes inside one instance of Softimage. Other new features are a topology based mirror/flip selection and a couple of new settings for the custom filters like point position compare components, edge on UV border, edge orientation.

The RCTools plug-in is a collection of workflow helpers and filters for Softimage. The supplied popup menu (Script command »rcToolsPopup«) gives you quick access to all the tools. [..] List of features: Peek (Align camera along selected edge/facing selection @90°;) TopoClipboard Flip Selection Mirror Selection Fill Selection Walk Patterned Loop selections Apply Pattern Customizable Filters (by polyon area, aspect ratio, orientation, edge length, point distance and 30 others) subcomponent clipboard subcomponent clipboard booleans (e.g. Select intersection of current and clipboard selection) Cap holes Repeat

local backup: rcTools.5.3.xsiaddon

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 08 Jun 2012, 19:05

Good call ;)
softimage resources section updated Feb 7 2019

bergj
Posts: 36
Joined: 06 May 2012, 05:58

Re: RCTools updates

Post by bergj » 08 Jun 2012, 20:30

Thanks for the update.

I noticed that in order to to repeatedly call loopWalk you have to use two different commands, rcLoopWalk() and then rcRepeatLast()...I wonder if this is intentional? I used to do a lot of modelling in Modo and they have this tool built in. I used it a lot. There, you could just press one button to keep calling the command.

Say I have ` mapped to loopwalk, then I would have to map Shift+` to repeat last and switch between the two. I made a small workaround for a shorter workflow.

Code: Select all

#2 = loopwalk
lastCmd = Application.GetGlobal("rcTools_lastCmdId")

if lastCmd == 2:
	Application.rcRepeatLast()
	
else:
	Application.rcLoopWalk()
	Application.SetGlobal("rcTools_lastCmdId", 2)
Also, it could be very useful if on top of the above change, that as long as you held down the button, it would continue to add to your selection instead of having to press the button over and over. Thats how it works in Modo. I tried to write that one, but couldnt get it at the moment.

Just some thoughts. :D

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 08 Jun 2012, 22:14

It's because of the bug again - I didn't want to go into the c++ part (which the loopwalk command belongs to) because I haven't got a running dev env set up right now. So this was done in the popup part.

another workaround:

Code: Select all

oldFilter = Selection.Filter;
SelectFilter(siObjectFilter);
SelectFilter(oldFilter);
rcLoopWalk();
softimage resources section updated Feb 7 2019

bergj
Posts: 36
Joined: 06 May 2012, 05:58

Re: RCTools updates

Post by bergj » 09 Jun 2012, 18:35

This lets the loopwalk continue as long as you have the key pressed down and at the same time lets you press the key to increment+1. :-bd

This is the exact way its done in modo. This assumes you have the BlurPyQt workgroup.

Map this to `

Code: Select all

####Map to ` in sikeyboardMapper
##LoopWalkAuto
####
#2 = loopwalk
lastCmd = Application.GetGlobal("rcTools_lastCmdId")
if lastCmd == 2:
	Application.rcRepeatLast()
else:
	Application.rcLoopWalk()
	Application.SetGlobal("rcTools_lastCmdId", 2)

import blurdev
blurdev.core.runScript(filename='C:/Users/REPLACEME/Desktop/WorkingSIfiles/siModellingScripts/siLoopWalkAuto.py')

Code: Select all

######siLoopWalkAuto.py
import blurdev
import sys
from PyQt4 import QtGui, QtCore, Qt
from PyQt4.QtGui import QMainWindow, QCursor
import win32com.client
xsi	= win32com.client.Dispatch( "XSI.Application" ).Application


class loopWalkAuto(QtGui.QMainWindow):
	def __init__(self, parent=None):
		super(loopWalkAuto, self).__init__(parent, QtCore.Qt.WindowStaysOnTopHint)

		quitAction = QtGui.QAction("Exit", self, shortcut="Ctrl+Q", triggered=self.close)
		self.addAction(quitAction)		
		self.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)			
		
	def showAtMouse(self, moveX, moveY):
		self.show()
		self.moveX = moveX
		self.moveY = moveY		
		mousePosition = QtGui.QCursor.pos()
		self.move(mousePosition.x() + (moveX), mousePosition.y() + (moveY))
			
	def resizeEvent(self, event):
		PropertyMask = QtGui.QRegion(0, 0, 30, 20, QtGui.QRegion.Rectangle)		
		self.setMask(PropertyMask)				
			
	def loopWalkAuto(self):
	#2 = loopwalk
		lastCmd = xsi.GetGlobal("rcTools_lastCmdId")
		if lastCmd == 2:
			xsi.rcRepeatLast()
		else:
			xsi.rcLoopWalk()
			xsi.SetGlobal("rcTools_lastCmdId", 2)		

	def keyReleaseEvent(self, event):
		if type(event) == QtGui.QKeyEvent and event.key() == QtCore.Qt.Key_QuoteLeft:
			if event.isAutoRepeat() == 1:
				self.loopWalkAuto()	
				
			if event.isAutoRepeat() == 0:
				self.close()			
			
loopWalkAUTO = blurdev.launch(loopWalkAuto)
loopWalkAUTO.showAtMouse(-500,-400)		
a window will open so that qt can call the release event. It will close by itself if you just hold and release the button.

If you press it over and over you will need to close them manually but this is easy with a hotkey - map this to Ctrl+Space to close all PyQt windows

Code: Select all

import blurdev
from PyQt4 import QtGui, QtCore, Qt
from PyQt4.QtGui import QApplication

QApplication.instance().closeAllWindows()

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 11 Jun 2012, 14:14

Nice, Softimage offers some event handlers on its own, but I don't know if keyup and such is included.
softimage resources section updated Feb 7 2019

Ramon
Posts: 111
Joined: 19 Aug 2010, 22:47

Re: RCTools updates

Post by Ramon » 12 Jul 2012, 21:06

Possible to see working rcloopwalk command from menu custom script command? Because this command have hotkey in keyboard mapping. work walk select command from rcpopup menu, but can`t assign this to hotkey. In old version it work perfectly.

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 12 Jul 2012, 22:47

I've got a new version in the works which completely works without C++.
Loopwalk works there, in the current version the hotkey version doesn't work because of the bug.
Only the menu has the workaround.

Until that one's out in a few weeks you could map the rcPopRepeat command to a hotkey which repeats the last command picked from RCtools. It should work for walk loop too.
softimage resources section updated Feb 7 2019

Ramon
Posts: 111
Joined: 19 Aug 2010, 22:47

Re: RCTools updates

Post by Ramon » 13 Jul 2012, 08:44

Ok
Wrong display number of edges
1 Image

2 Than wronп select adjustment mode
wrong
Image
right
Image

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 13 Jul 2012, 10:36

That's related to the SI 2013 bug too, I reported it already in Chris's thread and it's logged.
softimage resources section updated Feb 7 2019

Ramon
Posts: 111
Joined: 19 Aug 2010, 22:47

Re: RCTools updates

Post by Ramon » 17 Jul 2012, 21:52

+ when selected edges by coplete all, in Texture Editor we don`t have selecting points

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 18 Jul 2012, 20:03

Thanks for testing. Here's an update...

Download & docs V4.6 @ rray.de/xsi/rctools

Changes:
Removed C++ plugins parts, replaced with VBS / factory calls.
Improved pattern selection,
"Apply pattern to selection" command,
Softimage 2013 bug workaround (API SubComponent Element is not refreshed),
Updated docs,
rcWalkAlongEdge command,
rcWalkAlongEdge8 command.... for 8 steps at once @-)
softimage resources section updated Feb 7 2019

Ramon
Posts: 111
Joined: 19 Aug 2010, 22:47

Re: RCTools updates

Post by Ramon » 18 Jul 2012, 21:51

In keyboard mapping I have my Key map. It have old names from another versions, rcCompleteAllLoops, rcLoopComplete, rcPopup how i can delete old? They not working.
CompleteAllLoops work from menu, but don`t work from button in shelf and can`t apply to hotkey. WalkAroundLoop work perfect and apply to hotkey.

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 18 Jul 2012, 22:09

That's a known problem.. Softimage doesn't clean those key map lists up after a custom command is gone. You'll have to edit the xsikm file in a text editor and remove them yourself. It's in C:\Users\Name\Autodesk\Softimage_Version\Application\keymaps

If you don't have a lot of custom commands mapped, you can delete the whole inside part of the "Custom Script Commands" keylist-block. It will be regenerated but without any keys mapped.

Best to make a backup of the file first.
softimage resources section updated Feb 7 2019

User avatar
Nizar
Posts: 725
Joined: 30 May 2010, 22:54

Re: RCTools updates

Post by Nizar » 29 Sep 2012, 15:42

I must check more frequetly this forum side...
Thanks for the beautiful RCtool :)

User avatar
rray
Moderator
Posts: 1675
Joined: 26 Sep 2009, 15:51
Location: Bonn, Germany

Re: RCTools updates

Post by rray » 08 Mar 2013, 21:09

Hey folks... I've updated RCTools to Version 5.0, main new feature is the "Topo Clipboard" explained in the doc quote below..

Did test this a lot, but should be tested a lot more because there's so many possible sources of error in this feature - so any feedback is appreciated.
4.2. Topo Clipboard

Image

Usage: Make a polygon, edge, sample or point selection on a polygon mesh object, then from the Topo Clipboard->Copy menu, select an existing property (UVs, Envelope weights, ..) to copy from. The properties in the selected area will be copied into the clipboard and can be pasted to a different part of the same or a different mesh using the Topo Clipboard->Paste menu.

Important: The two selections must have the same underlying topology for this operation to work.

Such operations so far haven't been possible because the point order differs in different areas of the model/on different meshes. The Topo Clipboard feature though builds a new temporary point order that depends only on the selected topology and is independent from the internal point order.

Limitations: Topo Clipboard can have difficulties with symmetric topologies. It does a "best guess" on how the intended orientation is, but is sometimes unable to figure out the "proper" orientation. A good practice is to temporarily cut an edge somewhere in the selection in order to introduce some asymmetry. This trick can also be used to deliberately rotate the pasted result, by placing the "extra" point in a different corner.

Copy/Paste Form:

Copies the form of the selected area to the pasted area. Orientation of the pasted form will be adjusted to the new area. This function cannot handle mirrored topology, use the "Paste Form (Mirrored)" function if the pasted area is on the other side of a symmetric mesh.

ImageImageImage

Copy/Paste Envelopes:

Copies Envelope weights from the selected area to the clipboard and allows them to be pasted on another area. After pasting, a remapping dialog is shown which allows you to remap the clipboard weights to new deformers, as done here with the finger joints:

ImageImageImage Image

There's an exception to the "same topology" rule here: If the clipboard weight contains the deformer weights of only 1 point, those may be pasted to any number of points you like. Paste Envelopes can handle mirrored topology automatically. To get a normalized result, existing deformer weights will be proportionally reduced so the new pasted weights will fit in fully without modification.

Note that in the current version, envelope pasting doesn't work with partial clusters yet.

Copy/Paste UVs:

Copies UVs of the selected area to the pasted area. Can handle mirrored topology.

ImageImageImage

This can also be used to copy UVs between two meshes that have a different point order, but the same topology:

ImageImageImage

Copy/Paste Vertex Colors/Tangents:

Copies vertex colors of the selected area to the pasted area. Can handle mirrored topology automatically.

Copy/Paste Weight maps:

Copies weights of the selected area to the pasted area. Can handle mirrored topology automatically. Works also with partial clusters.
download is in first post of this thread
softimage resources section updated Feb 7 2019

Falam

Re: RCTools updates

Post by Falam » 08 Mar 2013, 21:42

I have a suggestion for how RCTools should function, if you could add this functionality as an option, that is if you are open to it ? :)