Jump to content

dast

Registered Member
  • Posts

    1,280
  • Joined

  • Last visited

  • Days Won

    68

Everything posted by dast

  1. dast

    Scroll2Object

    Glad it's useful. And thanks for providing feedback. Very much appreciated. I wish everyone downloading and using this and other plugins would do so, as it provides the motivation to work on other plugins.
  2. Made some changes here and there. Preparing for a release ...
  3. dast

    Scroll2Object

    A member over at CGTalk requested a way to select an object in the viewport and let the Object Manager automatically update its view to show the selected object, no matter the dense hierarchy. There is, by default, in the Object Manager's menu an entry "Scroll to First Active" which can be called using the shortcut key "S". I created a small plugin to perform this automatically, and also provided an option to enable or disable this behaviour. The option is added into the Object Manager's menu, as a toggle entry right after the "Scroll to First Active". Enabled by default. Included zip file should be extracted into the plugins folder. Scroll2Object v12.zip (works with R16 upto R23)
  4. Thanks for the feedback. The import/export WAS on my todo list, but I have removed it, as I didn't really see a benefit. The whole idea behind this plugin was to provide for a speed up in switching between most-used tools. Setting up these most-used tools is usually a one-time action. As such, I didn't want to spend lots of time (compared to the whole plugin development) into providing a setup interface. Therefore, no drag-n-drop, no fancy graphics, nor extreme customizable setup. If you need to "shift/offset" the dial, you can do so by adding tools at the end, removing ones at the beginning. The whole drag-n-drop feature would also provide for shifting. I could implement that, but I won't. At least not for the current version. I need something for a future update ;-) Additionally, since selection of tools should be a quick and easy, I especially do not want to provide a too complex main GUI. No presets, nor sub-level selection, ... I agree there is a potential need to want to group tools in separate dials. I have been looking into a way to provide multiple dials. One for modeling, one for animation, etc ... But have not yet found a way to allow for an easy and dynamical way to access these, except for providing them as sub-plugins. This is the way the "Wheel of Tools" and "History Dial" are organized. Each sub-plugin can be assigned a shortcut, but each also needs a unique plugin ID. And this cannot be made dynamically. So, I am afraid beta 4 will become the release version.
  5. dast

    Signs

    While biking around I encountered this road sign. And thought it would be amusing to start a topic containing photos (made by C4DCafe members) of traffic signs or other street furniture, representing 3D related terms. Where the every day man in the street wouldn't now why we, 3D nerds, have a chuckle at.
  6. While I mentioned I would skip further development for toggle and sticky keys, I just could not let go. I will leave out the technical details, but it was a nightmare to figure out and implement a workaround to the confirmed bug in Cinema's SDK. A real nightmare ... but that's history. The latest (hopefully final) beta does contain support for toggle AND sticky key shortcuts. There is also a MacOS version included. Both platforms support R16 and above ... at least until R19. I left out a few things that were on the todo list. The radius of the dials is automatically calculated from the number of defied tools, and from the specified icon size. No custom radius available, nor custom spacing. This beta contains quite a few bug fixes (probably still some remain ... deeply hidden). But, since the toggle and sticky features are "masterpieced hacks" they may have introduced nasty bugs or side effects. Not that I know of, or have experienced while testing out the plugin, but one never really knows for sure. Third party plugin support is added as well, meaning you can define plugins, tools, commands, ... Anything with a unique ID. Unfortunately, the "History Dial" can only detect actual tools (move, rotate, scale, ...) same as the native Cinema 4D history. While my implementation doesn't use the SDK (since the functionality isn't made available through the SDK) I guess it does rely on the same techniques used by MAXON, and thus has the same limitation. Just a guess of course. Currently no documentation is provided, but is one really needed? Just a note for those testing out the plugin. The "dials" consists of 2 black circles, populated with icons of the defined tools. As soon as the sticky key feature gets activated, by keeping the shortcut key(s) pressed down, the outer dial circle gets removed. This to visualize the difference between "toggle mode" and "sticky mode". When in sticky mode, the tool currently under the cursor will get selected as soon as you release the shortcut key(s). Finally, I decided to rename the whole plugin, as it actually contains 2 sub-plugins. As such, "Wheel of Tools" and "History dial" are now known as "Dials". <Dials beta 4.zip> (removed obsolete file)
  7. Thank you. Yes, a MacOS version will be built when time permits. Changing the radius of the dial is already foreseen internally, but no controls are currently provided for the user to do so. I was going for an "auto radius" solution, depending on the selected icon size, and a manual solution for custom values. I have currently provided the ESC key only, as I am still working out other solutions to remove the dial. Clicking outside of icons will be one solution, though.
  8. As I expected, implementing the bonus function as a separate History Dial was a piece of cake. The shortcut toggle and sticky key functionality on the other hand, not so. Usually, when people talk about shortcuts its a single key shortcut they're visualizing, but with most keys already taken up by Cinema 4D's native tools, I looked further and wanted to support multi-key shortcuts. Cinema 4D allows shortcuts with up to 4 keys (+ shift/ctrl/etc, per key) Unfortunately, while experimenting with shortcuts I encountered a problem with Cinema 4D, which has been confirmed to be a bug by the fine people of MAXON SDK support. As such, I am currently skipping any further development related to shortcut toggle or sticky keys. Latest version containing Wheel of Tools and History Dial (single plugin with two entries). <obsolete file removed>
  9. Working on some other plugins (and life in general) did interfere with the planned release of PolyGnome 1.3 With a little delay I can now inform that the latest update has been finalized and distributed to the customers. Had some issues with building the plugin for the different Cinema 4D releases (R16 .. R19) as well as the different Mac OS versions. As such, I hope everyone received their appropriate version. Time to start working on the next update, but I'll first need to finalize a few other things.
  10. Nice ideas! Thanks for suggesting them. I very much like the bonus function actually. I don't recall the tool history to be available via the SDK. But then again, none of my plugins are simply making use of the SDK and are always based on some twisted ideas or design. So, I am looking forward to implement my own history. As for 1) and 2), while these seem obvious and simple to implement, there are some side effects involved that might actually make it tricky. But it's a challenge like another. A tricky sticky, and a woggle toggle ... let's see what we can come up with.
  11. Spend quite some time to turn the concept plugin into a usable one. It's always the little things that take the most time to do, so getting a release-ready plugin required many things to be polished-up from the concept version. With that out of the way, I sat down and started designing the configuration part of the plugin. I envisioned a full graphical, drag-n-drop user interface ... but as this would require some time to implement, I went instead for a very low level and less time consuming solution. While not being a fancy nor state of the art configuration window, the user can now specify the tools to be made selectable. I hope the configuration window is self explanatory, but if needed I will provide for a short tutorial video, showing how to set things up. (in the meantime I did a short video ...) Tested on R16 and R19 only, but I expect no issues with R17 nor R18. While in theory every available (native) tool in Cinema 4D could be inserted in the Wheel of Tools, I have only tested some selection and modeling tools. I might expand the functionality of this plugin in a later version (provide "double" wheels, extra "layers", options, presets, ...) for now I will leave it as is, and see what the general response will be. And may even rename the plugin into "Toolbelt". Earlier today, I had posted this message, and had provided a first beta. While making the demonstration video above I realized the plugin had a major fault. As such, I removed the download as well as the whole post. It didn't make much sense to report anything without the actual (beta) plugin being available. So, I took the time to fix some things, re-record a demonstration video, and upload the whole thing all over ... as beta 2: (anyone having downloaded previous beta, do yourself a favour and throw it away ... download this one instead) A "first" beta version (windows only for now): <obsolete file removed> Just press the "ESC" key.
  12. Thanks. I assumed I wasn't the first one to come up with this idea. But as far as I know, there hasn't been any plugin available which provides this functionality. I am still wondering why this is? To be honest. This idea had been in my mind for a long time now. It's only recently that I was able to implement it.
  13. [Edit - Note: this thread should be located in the "Programming - C++" section of the forums. It ended up in the "Python" section by accident during one of the forums reorganizing sessions] While working on a plugin I got the idea of making this small utility: Wheel Of Tools. It allows the user to set up a list of most used tools, which are presented as a circular palette to select from. Available directly within the viewport. Current state of the plugin is only a concept, and I am mostly focusing on the actual tool selection. The part where user does set up the tools still needs to be worked out. For those familiar with PolyGnome, you probably already understand where I will be heading to ... Wheel Of Tools, once fully implemented, will be the base for a new way of interacting for the main part of the PolyGnome plugin. Edit: While many have seen in this plugin what they expected it to be, this is NOT a radial menu plugin. It merely represents a list of tools in a circular way.
  14. I don't have the python SDK in front of me, but I guess NBIT_OHIDE is that flag you're looking for
  15. While version 1.3 is currently in beta, I couldn't resist working on yet another feature: interactive rotation of assets. As always, I first prepare some concept to try out and see if things can get worked out. While being far from fully functional, I simply had to share next concept video showing off the interactive rotation (interactive scaling is next on the list). I am not planning to include this feature in the 1.3 version as this would delay the release, but hopefully will get it ready for a next update.
  16. For sure I remember your request during beta testing. Back then I mentioned this was a very nice feature, with great added value. But I also mentioned I wasn't able to provide a user-friendly solution, and as such it needed to wait before being implemented. As a result of the newly added Assetizer, I could now easily introduce this feature. Apologies for taking so long to finally get your feature implemented. Welding is performed by the plugin. No manual weld/optimize is required. I tried showing it in the video, but I just realized now I erroneously used points instead of polygons to demonstrate the feature.
  17. Further adding features to the latest version. For those assets that require some helper / placeholder / proxy / whatever you may call it: Disposable Polygons. This is something I wanted to provide for a long while now, but needed the "Assetizer" functionality to be able to handle this feature.
  18. It has been decided to put the plugin on an early retirement scheme ... The alternative solution using a script and short-cut key(s) is a much more user-friendly approach, which I actually prefer over a plugin. And it's platform independent, as well as release independent (unless the R20 SDK does break it). But all effort to make the original plugin is not gone to waste. Firstly, I learned a few things while implementation this "sneaky background" action. Secondly, it resulted in a much easier to maintain scripted solution. I will probably provide some update to the script, as I figured out a few extras. But I am currently too busy, so that will have to wait for a while.
  19. While I still believe the current plugin to be obsolete, I agreed to let user @natevplas beta test it. If only to test the provided mechanism does work without introducing any lag or delayed user response. This mechanism could then, potentially, be used in future for other purposes Why I believe the plugin to be obsolete? Well, it is only a matter of creating appropriate short cut keys in order to provide the current behaviour (keep unused points), or the custom behaviour (auto remove points). Currently, the backspace and delete keys are assigned to the current behaviour. But people can simply assign a different short cut key to the current behaviour and assign the backspace and delete key to the above script. This way, it's up to the user to define the default and custom behaviour ... without the need of a plugin (which will probably not work in future releases anyway).
  20. Copy following code into the Script Manager window and save it as i.e "Delete+Cleanup" Then with "Customize Commands", filter on the entered file name, and assign it "Shift+Delete" as shortcut keys ... and Bob's your uncle. Makes this whole AROP plugin I made completely obsolete ;-) Just why I didn't think of that before starting this whole plugin. import c4d def main(): # perform the delete (ID=12109) c4d.CallCommand(12109) # perform the clean up # get the currently active polygon objects objects = list() activeObjects = doc.GetActiveObjects(c4d.GETACTIVEOBJECTFLAGS_CHILDREN) for obj in activeObjects: if obj.IsInstanceOf(c4d.Opolygon): objects.append(obj) # remove unused points settings = c4d.BaseContainer() settings[c4d.MDATA_OPTIMIZE_UNUSEDPOINTS] = True res = c4d.utils.SendModelingCommand(command = c4d.MCOMMAND_OPTIMIZE, list = objects, mode = c4d.MODELINGCOMMANDMODE_ALL, bc = settings, doc = doc) c4d.EventAdd() if __name__=='__main__': main() Edit: Had some typos in the code, fixed now.
  21. Well, the very first name I used when setting up the research for this project was "Auto Orphan Killer". It's just a name, I thought at that point. And while it might sound funny in a way, I don't think many would have appreciated it. Another plugin of mine (PolyGnome) was originally meant to contain "enjoliver" in its name (french for embellish-er). Guess I better not call this new plugin "enjoliver twist" then. Nice idea, I didn't think about that. However, deleting is handled by Cinema itself, then the plugin does some post-processing. As such it does not detect the "delete" nor "shift-delete". Currently when you use "shift+delete" nothing happens, as Cinema does not know what that shortcut actually means. Had a quick look in "customize commands" and apparently the delete key (when meant to delete the current selected polygons, edges, points) is assigned ID 12109. For the "shift+delete" to work the way you mentioned you could assign it to some script, which does a delete + clean up. Which is probably easier to create than this whole plugin I made ... Again, didn't think of that. My pleasure.
  22. I am working on a new plugin, and would like to query for user interest. Background info: I am not an expert at modeling, but from time to time I create some objects for short stories I am making, or other projects I am working on. For the past 2 years or so, I have spent most of my time writing some plugins. As such I didn't quite follow the progress of modeling tools (or lack thereof) in the recent Cinema 4D releases. Recently I was creating a mesh, representing a faceted low-poly gnome to be used as illustration for one of my plugins, when I noticed that removing polygons still left orphaned points behind. Same behaviour as always, from the early days I worked with Cinema, till the last time I modeled something before focusing on plugin writing, and then even today. So, over the span of 10 Cinema 4D releases (R9 - R19), nothing seems to have changed regarding this behaviour. Now, I can understand some of the reasoning behind the current behaviour. Still, I wonder how many requests I have submitted to MAXON over the years, to provide an option to allow the user to decide if orphan points should, or should not be removed automatically when deleting polygons. I don't know what R20 will bring, but I didn't want to wait any longer for MAXON to provide said option, and decided to write my own plugin to perform the task of removing these orphan points ... while providing an option to do so or keep the current behaviour (avoiding the need of removing the plugin when user wants to switch between these different behaviours). The plugin: It's a free R17-R19 plugin, currently Windows only, but will be made available for MacOS when time permits. It might also become available for R16, but nothing promised at this time. The plugin is document based, and simply runs in the background. No user interaction is required, as removal of orphan points is done automatically, whatever mode the user is working in. Simply enable the plugin (scene configuration) ... and model away. Naming request: Since the project is still ongoing, I haven't decided for a final name yet. The project is currently named AROP, short for Auto Remove Orphan Points. But could as well end up being named URP (Unused Point Remover), or anything closely related. If anyone comes up with a fancy name, just let me know. Beta testing request: As with all my plugins, it is closely based on the workflow I am familiar with. While good enough for me, this might not be the case of more expert users, or even beginners for that matter. As such, I'd like to ask for a few people's time to spend testing this plugin, before being officially released. Contact me for details. Most important feedback I am looking forward to: - is the plugin slowing down the performance of Cinema 4D - any lag related to the use of the plugin on small or large objects - are there any orphan points still left untouched by the plugin - what's the total user experience using this plugin Thanks for reading Daniel
  23. When I started creating this plugin there were a few features I had in mind, but simply could not find a way to provide these. And while this plugin is no rocket science (far from it), things require quite some tricky solutions now and then. Luckily, I seem to be getting smarter day by day ... yeah, I wish! Still, features I didn't quite know how to implement then, seem to be feasible now. A result of this is that I now have introduced an "auto setup" for assets, which -in theory- should work for most of the assets people are creating. In occasions where the auto setup fails to detect the necessary base and orientation, extra tools are provided to make the manual set up more user friendly. Here's a demonstration video of the latest alpha version I am working on, before going to beta: Another "feature" of this version is a change in library format. Each library used to be a single Cinema 4D scene file, making sharing and distributing single assets a nightmare. I have reworked the whole plugin to work with separate asset files instead. A conversion utility is part of this newer version to convert from the old format to the new one. There is however a major drawback on this new way of storing assets. Cinema 4D takes about 70 to 100 milliseconds to load a scene file. No big deal, you would think. But what if a library consists of 50 assets? That would then take approx. 5 seconds to load and display. Trust me, 5 seconds is a very long time to wait after you selected a library. As such, I also had to introduce a caching mechanism to reduce the loading time of libraries again and again. You'll only have to wait the first time a library is selected. Next times, it should like in a blink of an eye. Next to these changes, the usual bug fixes and optimizations ... no big deal ;) Public release of this new version will be announced when beta-testing has been completed. Thanks for reading.
  24. Haven't used Xpresso lately, but there is a Memory node, if I recall correctly, which allows for a history level.
  25. The error you get in the console should help you understand what is going wrong. You are trying to call "InsertUnder" on the wrong object. When you used "GetActiveObject" the function returned you a c4d.BaseObject. By switching to "GetActiveObjects" the function then returns you a c4d.BaseList2D of c4d.BaseObject. The function "InsertUnder" is not available on the c4d.BaseList. As such, you need to iterate over each c4d.BaseObject in the returned list objs = doc.GetActiveObjects(flags=c4d.GETACTIVEOBJECTS_0) for obj in objs: obj.InsertUnder(pred) where "pred" is your null, or preferably the last child inside the null (so to provide appropriate ordered children inside the null)
×
×
  • Create New...