• Facebook Twitter Google+ Youtube Vimeo
  • Italiano English
  • [-] Diminuisci la dimensione del testo [+] Aumenta la dimensione del testo
  • Feed RSS 2.0 Feed ATOM 1.0

»

Adjust2Bitmap free plug-in

Forum for: Dynamics, Rigging, Mograph, TeamRender, Xpresso, Plugins, Hair, Sketch, Simulation, tracking, sculpt and advanced usage of Cinema4D.

Moderatori: natas, Arkimed, visualtricks, cappellaiomatto

  • Advertising

Adjust2Bitmap free plug-in

Messaggioda nemesi » lun ago 13, 2012 7:20 pm

Hello and a nice summer!
Sorry for my English :)

Maybe some of you remember "Adjust to Bitmap": free plug-in distributed from the same site of the old Tuile-Gen (now not available)

I needed it and I wrote something with Python!

Ok, but what does it do?
Quickly set the size of a plane with the size of the assigned texture

And what is it?
For example it is useful to quickly resize the plans with the blueprint texture.

How it works:
- creates plans and assigns the texture
- selection plan and execute the script (using the button on a palette or using keyboard shortcut)

Installation:
- unzip the zip file in C:\...C4D_DIRECTORY...\library\scripts
- now you can decide whether to add the button in a palette and / or assign a keyboard shortcut

To who wanted to look at the code:
Codice: Seleziona tutto
import c4d
from c4d import gui, bitmaps

def main():
   
    # controlla se hai selezionato qualcosa
    if  not op:
        print "Selezionare un oggetto Piano"
        gui.MessageDialog("Selezionare un oggetto Piano")
        return
    # controlla se hai selezionato un oggetto Piano
    elif op.GetType()!=5168:
        print "Selezionare un oggetto Piano"
        gui.MessageDialog("Selezionare un oggetto Piano")
        return
    # controlla se l'oggetto selezionatoha una texture
    elif not op.GetTag(c4d.Ttexture):
        print "All'oggetto Piano non è assegnato alcun materiale"
        gui.MessageDialog("All'oggetto Piano non è assegnato alcun materiale")
    else:
    # leggi path texture
        path = op.GetTag(c4d.Ttexture)[c4d.TEXTURETAG_MATERIAL][c4d.MATERIAL_COLOR_SHADER][c4d.BITMAPSHADER_FILENAME]
        print "path: "+path
        # assegna la texture ad una nuova bitmap
        bmp = bitmaps.BaseBitmap(path)
        bmp.InitWith(path)
   
        # leggi i valori x y della texture
        x, y = bmp.GetSize()
   
        print x
        print y
     
        # assegna al Piano i valori letti
        op[c4d.PRIM_PLANE_WIDTH] = x
        op[c4d.PRIM_PLANE_HEIGHT] = y
        op[c4d.PRIM_PLANE_SUBW] = 1
        op[c4d.PRIM_PLANE_SUBH] = 1
       
       
        c4d.EventAdd()
       
        return

if __name__=='__main__':
    main()


Sorry, but the texture path must be absolute, not relative like C:\users\....\image.jpg
I hope my experiment is helpful :) critiques and suggestions are always welcome!
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Estrudi da questo corpo!
Avatar utente
nemesi
 
Messaggi: 525
Iscritto il: lun mar 28, 2005 4:22 am
Località: ascoli piceno

  • Advertising

Torna a C4D - Advanced usage

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

Powered by DGworld CMS - Copyright ©2005-2018 DGworld