Jump to content
3DCoat Forums

Search the Community

Showing results for tags 'scripting'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Development
    • Announcements and new feature demos
    • New Releases, Bugs Reports & Development Discussion
    • Addons, extensions & scripts
    • Coding Scripts & Extensions
  • General
    • General 3DCoat
    • CG & Hardware Discussion
  • Tutorials, Tips and Tricks
    • Beginners tutorials
    • Modeling
    • Sculpting
    • Retopology, UVs & Baking
    • Materials and Textures
    • Painting
    • Photogrammetry & Scan
    • General 3D and CG
  • Artwork
    • Finished Projects
    • Challenge
  • 3DC's Topics
  • 3DC's Tips
  • 3DC's Topics
  • 3DC's Paint
  • 3DC's Hipoly
  • 3DC's Lowpoly

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 9 results

  1. Hey folks, finally got around to buttoning up my cExtension as much as I could. @Carlosan suggested I make a thread for it, so here it is You can check out the readme here https://github.com/LiamSmyth/LKS_3DCTools You can grab the release zip from here: https://github.com/LiamSmyth/LKS_3DCTools/releases/tag/0.0.1 setup guide until I have time to make a better one From the README: LKS 3DCoat Tools A cModule for 3DCoat by Liam avec copilot Features Customizable Radial Tree Menu Similar to Blender's pie menus and Maya's Marking menus, but in 3DCoat Make your own in the editor Batch Tools These batch tools are meant to work consistently across your 3DC scene where 3DC don't, or wrap modals in static ui so that you can perform operations in one-click instead of configuring popups. A whole lotta batch tools, leveraging a custom iterator that attempts to bypass instances so you don't get double-ops. Scopes selected / subtree / all make it much easier to manage your scene Match Density Decimate From a reference mesh, the tool will try to decimate or subdivide either the subtree or everything in the scene to match the source object's polygon density. Good for mass optimizing your 3dcoat scenes before export Ghost / Visibility Batchers 3DCoat's ghost / visibility have always been a pain because often the builtin invert / show call do not consistently edit the visibility, resulting in having to manually click the ghost / visibility button on every object in the scene tree. This is a workaround for that that actually works. Material ID Fills Fills each object with a random color on a named ID layer. Good for baking based on mat IDs! Safe Symmetrize 3DCoat's mesh-mode symmetrize crashes half the time. Safe Symmetrize will work in voxel or surface mode. If in voxel mode, simply invokes symmetrize If in surface mode, voxelizes before applying symmetry, trying to preserve detail, and then decimate back down to your original polycount. This way you can use the same shortcut without having to think about whether you are in surface mode or voxel mode. Split Masked / Hidden This tool is meant to take a many-click operation in 3dcoat and merge it into one. In surface mode, it will split off your masked area to a new sculpt object and fill the holes made with one button press. In voxel mode, it will split any hidden areas to a new sculpt object and remove the hidden part from the original layer! Default 3DCoat split hidden will make a new vox layer from your hidden part, but it still leaves the split part hidden in the original sculpt object. This is not typically what you want, you just want to hide a part and split it off. This tool handles both cases with one button press. Simplifies the UX. Dynamic Subdiv Brush Globals Do you hate always having to change your dynamic subdiv settings every time you change a brush? Try mapping the Dynamic Subdiv increment / decrement to a shortcut (I like pg up / pg down). This tool caches the dynamic subdiv level you are currently at to disk, so you can change brushes and get back to your sculpting with a keypress instead of having to reconfigure your brush WIP: One click autopo -> multires Basically already works but you have to click through menus. Trying to get 3DCoat autopo to act more like zremesher where you modify some settings and click the "go" button again instead of clicking through popup menus. I've exposed the autopo config entirely Intention again is to stay in sculpt mode. > will just produce a new autopo with configured settings and return to sculpt mode. Autopo -> sculpt will make a new autopo mesh and bring it into sculpt mode as a new sculpt object. Autopo -> Multires will generate the autopo and bring it in as the lowest subdivision for the current sculpt object Action Commands -> Shortcut MenuItems Many of the above have script menu items that can be bound to a shortcut. Try registering them (installation below) and binding some Will probably make an action script generator (so you can generate your own invoker scripts to bind) in the future Hotkey editor and Conflict Resolve tool If you are like me and have been using 3DC for years, your shortcuts xml is probably a hot mess. I've used this tool on my own xml to clean up the xml and it works around all the 3dcoat weirdness by some pain staking manual keycode verification I did. As it turns out, 3dcoat actually requires invalid xml for its prefs. If you just download any old python xml validator, it will make it not loadable by 3dcoat, which will then proceed to dump your entire shortcuts and start over. IF YOU USE THE HOTKEY EDITOR, BACK IT UP WITH THE BACKUP TOOL BEFORE AND AFTER CHANGES it is VERY LIKELY you will break your hotkeys file. Less likely with all the code that tries to safe-ify it, but it's impossible to be 100% certain. If you make rooms and then deprecate them, they remain in your hotkeys xml. This tool allow you to bulk edit hotkey rooms or remove shortcuts from orphan rooms 3DCoat does not also clean up perfect duplicates or null-key bindings. Because of this, cruft accumulates. This tool can delete exact duplicates and null key bindings for you automatically. What is the trash-key? 3DCoat does not allow unbinding some shortcuts. It will regenerate them any time you delete the binding, putting them on keys you don't want. The "trash key" is my workaround for this. Since I can't delete the bindings without them being regenerated. I instead bind to a single key I use as a throwaway. Hence, trash key. Any 3DCoat default shortcuts you do not want, but can't get rid of, bind to a trash key. The hotkey resolver will detect if two or more shortcuts are used in the same room at the same time. If so, it identifies them as a conflict. You can resolve conflicts by deleting, trash-keying, or rebinding all except one shortcut in a conflict group. Installation Download Download Latest Release (LKS_3DCoat_cModule_vX.X.X.zip or LKS_3DCoat_cModule_vX.X.X.3dcpack) Base Installation Steps 1a) 3DCpack Method Download LKS_3DCoat_cModule_vX.X.X.3dcpack from releases page Drag the 3dcpack file into 3DC main window. Should auto install with typical 3dcpack method. 1b) ZIP method Download the latest LKS_3DCoat_cModule_vX.X.X.zip Extract the LKS/ folder to your 3DCoat cModules directory: Documents/3DCoat/UserPrefs/StdScripts/cModules/LKS/ Extension should show up in the extension menu. (Can get to it with windows -> panels -> extensions in 3DC) Click start to launch. Click always on top if you want it to be pinned to screen. Navigate to Tools tab for basic use Install Menu Items to enable Hotkeys 3Dcoat requires shortcut items be mapped to a menu item hotkey in order to be invoked. As a consequence, the easiest way I found to map custom scripts is to register actions to the scripts menu with custom menu items. If you navigate to Hotkey tab -> Menu Registration -> Add Action Menus, you will get a substantial list of keyable scripts added to your scripts menu. Must restart 3DCoat for them to show up / be removed. Once they are added, open scripts menu and use typical END shortcut mapping to map custom scripts to hotkeys. Uninstall with "Remove Action Menus". At present there is no partial installs, sorry! Install Radial Menu to Hotkey Go to radial menu tab If you installed the menu items for hotkeys, you should be able to use LKS_Radial_V1 radial menu for starters. Click the dropdown "Library" to select a radial preset. You can also build one from scratch. Radial menu definitions are simple json files. You can save / load them from disk, or store them to the addons folder library with store. Delete will remove the currently edited one. With a library item selected, hit the white square button at right to load the preset. With the preset loaded, you can Register the radial menu. Registering will add a radial menu item to your scripts menu. As usual, when changing menu items, you will need to restart 3DCoat for them to show up. This generally should be invoked with a shortcut key. Use 3DCoat's END shortcut mapping to map the radial menu to a key. When the radial menu is bound, hold the key down, and release over an item to invoke it. Releasing over empty space will close the radial menu without doing anything. Some items in the radial menus are "Branch Nodes": they allow you to spawn sub-radials, which contain their own actions. A bit like a hybrid of blender and maya. Editing or making your own radial menus The panel with "items" and "actions" is a radial menu editor. Use the three buttons below the editor box to add a radial menu item, add a child item, or remove an item. Parent items with no commands, and children, will be considered Branch Nodes. These unfold to reveal their children when moused over Hover over a node with a 3DCoat ui.cmd action like $CleanSurface mapped to it, and release the radial menu key to execute the action. To find your own actions from the 3DCoat ui, you can use MMB+RMB on any 3DC ui element. This will copy the ui command to your clipboard, and you can paste it into the Action field. When you are done editing, use Store to Library and save as a new item, or over an existing one. Over an existing one will update the item, your shortcuts should remain intact A new one will be stored to the library, but is not registered until you register it. This process may be a bit jank. I recommend storing it, loading it from the list with edit button, then clicking store just to be safe, until I lock it down a bit more. You can make and register as many radial menus as you like! License I am not sure how licensing works because I'm not a proper programmer, but feel free to use / edit / branch this. You may use it for any artmaking purpose for free, professional or personal. It is virtually all claude code, so whatever restrictions that comes with OOTB
  2. Some scripts from me! More to come, probably In order: Subdivide subtree double - 2X's the polycount of the subtree under the active object via subdivision Reduce Resample Subtree Half - Resamples the subtree reducing the polycount by half Reduce Decimate Subtree Half - Decimates the subtree to half polycount Make Subtree Density Uniform Resample - Uses the selected object as a polygon scale reference and resamples all children such that their polygon density matches Make Subtree Density Uniform Smart - Same as above, but uses subdivision + decimation instead of resampling to avoid intersecting geometry from being merged. a "fuzzy" tolerance for whether or not to subdivide is hard coded. Feel free to edit See below for attached files. I derped and accidentally used an old pre-pilgway account
  3. Hello, I'm wondering if it is currently possible (cpp coreAPI or Python API) to get a reference for one or multiple Mesh objects for a Volume object I've seen pr the docs Volume has the member .vo which returns a "VolumeObject" pointer among other things, but I cannot find anything that can meaningfully be passed to Mesh's constructor To be clear about where I am going with this, I would like to get a hold of properties e.g. points of Mesh object in a Volume in Sculpt workspace thanks for any and all advice, will try some more in the meantime
  4. LllIIllZ

    Batch file processing

    Is there any way to set up batch file processing so that you can perform operations from scripts on a list of stls in a folder? I want to be able to open each file sequentially - importing all the stls at once to edit and then export isn't working as it crashes 3D coat whenever I try.
  5. Hello, I'm very new to scripting but have been making something to automate a repetitive series of actions, but am stuck on a couple of things: 1. How to get the script to ''enter'' through dialogue boxes - I tried adding cmd("$DialogButton#1"); but this doesn't seem to work 2. How to copy a layer 3. How to copy and subtract a layer from others - CMB + RMB gives me cmd("$CopySubtractFrom"); but I don't know how to specify the target I've had a look through all the documentation but haven't been able to figure it out because I don't know what I'm doing haha. Any help would be greatly appreciated! Cheers!!
  6. wendallhitherd

    Scripting in 3DCoat 2022

    Hi there! I'm "LKS" on the 3DC discord. I've been trying to learn scripting in angelscript since the recent 3DC api overhaul and I figured I'd post the results of my efforts here. Keep in mind, I'm somewhat of a turbo-noob to coding, but many of the most useful scripts I've made for other apps are just a few lines long anyway, so maybe someone will find some use! First script reduces the polycount of the selected voxlayer by half. I mapped it to alt-D. Second takes all children of the selected voxlayer and parents them to a new root. I made this to deal with the issue of deeply nested voxlayer hierarchies being created as a result of using the split tool. It may or may not work in all circumstances, but it seems to so far! I'll add updates as I do more. decrease_resolution_by_half.as reparent_children_to_root.as
  7. Andrey Syrokomskiy

    Programming in 3DCoat - Scripting manual

    Hi! I began to work the scripting and planning a collection of tutorials by coding. On today 3DCoat's scripting is too poor, but we try harder for improve it. I wrote some notes with observe a new scripting and you can use this code and this docs since v4.5.32. At least, I hope this will) Updated 26/3/2016 The docs for read)
  8. Version: 4.5.19(DX64) Windows7 Home These operations, running from own Script: Bake w/ Normal Map (Per-Pixel), Retopo->per pixel (no baking), and maybe other Retopo->Paint operations (not checked), reset 3D-Coat Preferences (Edit->Preferences) to default, and used it, not actual: Normal Map Software Preset Normals Calculation Method Normal Maps Export Triangulation Method Tangent Space Standard and maybe other fields (not checked).
  9. pixelaciouspixie

    Scripting Export/Import

    Hi everyone, I'm new to 3d Coat and trying to script in some functions to simplify my pipeline but am unsure of the commands and am having trouble finding documentation for these specific functions. I'd like to be able to script: file-> import -> object layers -> import -> all layers colors I want to pass the second function a file name + path and string based on the object name and path to import. layers -> export -> all layers colors file-> export-> objects and textures and be able to choose the export options for that last function. Does anyone know if these commands already exist? Any examples you can recommend? Thanks for your time!
×
×
  • Create New...