Cinema 4D Plugin
Cinema 4D Plugin

macsurf

New Member
  • Content count

    38
  • Joined

  • Last visited

Community Reputation

0 Noble Beginner

About macsurf

Contact Methods

  • Website URL
    http://www.mor.pl

Profile Information

  • First Name
    macsurf
  • Last Name
    mac
  • C4D Ver
    R17.055 Studio
  • Location
    Poland
  1. Thanks a lot :) If my english would be better then I would do more comments in english to better describe individuals problems :) But I am afraid that I can make any mistake in english in my description heh
  2. Some tips about accuracy modeling and position objects. Snap tool, align to selection, alignment points to refference splines, setting the correct axis for objects, replaces objects to instances, parallel lines, rotate snap itp. Accurate Modeling in C4D
  3. OK I resolve this problem. By application this method with proper second const : doc.SetActiveObject(obj, c4d.SELECTION_SUB) # Deselect Active Object. After that all objects are proper converted. Corrected functions: import c4d bc = c4d.BaseContainer() def recursiveObj(obj, callback): while obj: if(isinstance(obj, (c4d.BaseObject)) == False): print 'This is not instance of BaseObject' return 0 #print obj callback(obj) recursiveObj(obj.GetDown(), callback) obj = obj.GetNext() def experiment(obj): if(obj.GetType() == 1018544): doc.SetActiveObject(obj) #c4d.CallCommand(100004767) # Deselect All c4d.CallCommand(100004768, 100004768) # Select Children c4d.CallCommand(12236) # Make Editable #obj.SetBit(c4d.BIT_ACTIVE) c4d.CallCommand(100004768, 100004768) # Select Children doc.SetActiveObject(obj, c4d.SELECTION_SUB) # Deselect Active Object c4d.CallCommand(16768, 16768) # Connect Objects + Delete c4d.EventAdd()
  4. I wrote some part of script, but I have a problem with recursive iteration because when script will call callback function with c4d.CallCommand(16768, 16768) # Connect Objects + Delete then iterations has been broken. And only one object will have been converted. I tried select all childrens without a parent object but I don`t know how to do it :( then should be everything ok. import c4d bc = c4d.BaseContainer() i = 0 def recursiveObj(obj, callback): global i while obj: if(isinstance(obj, (c4d.BaseObject)) == False): print 'This is not instance of BaseObject' return 0 #print obj i = i+1 print i obj = callback(obj) recursiveObj(obj.GetDown(), callback) obj = obj.GetNext() def experiment(obj): print obj tmp = obj.GetNext() if(obj.GetType() == 1018544): doc.SetActiveObject(obj) #c4d.CallCommand(100004767) # Deselect All c4d.CallCommand(100004768, 100004768) # Select Children c4d.CallCommand(12236) # Make Editable #obj.SetBit(c4d.BIT_ACTIVE) c4d.CallCommand(100004768, 100004768) # Select Children c4d.CallCommand(16768, 16768) # Connect Objects + Delete obj = tmp c4d.EventAdd() return obj def convertToExport(obj): global bc #objList = ['Door Tubes', 'Tubes', 'Screws'] #for o in objList: #doc.SetActiveObject(obj) print 'type of object: ' + str(obj.GetType()) if(obj.GetType() == 1018544): # Only Mograph Object Conversion #doc.SetActiveObject(obj) print 'Convert: ' + obj.GetName() print obj c4d.CallCommand(100004768, 100004768) # Select Children c4d.CallCommand(12236) # Make Editable c4d.CallCommand(100004768, 100004768) # Select Children c4d.CallCommand(16768, 16768) # Connect Objects + Delete if(obj.GetName() == 'Door Tubes'): bc.SetData(c4d.MDATA_OPTIMIZE_TOLERANCE, 1.8) c4d.CallCommand(12139) # Points c4d.CallCommand(13323, 13323) # Select All c4d.CallCommand(14039, 14039) # Optimize... bc.SetData(c4d.MDATA_OPTIMIZE_TOLERANCE, 0.01) return True return False def main(): #obj = doc.SearchObject('Cloner') recursiveObj(doc.GetFirstObject(), experiment) #c4d.CallCommand(60000, 9) # Export Filter return 0 if __name__=='__main__': main()
  5. I can`t find any sample script to select any objects in Python script and to do any operation on it. Maybe someone can write for me sample script to do like these operations: 1. Select appropriate the object by name 2. Make editable selected objects 3. Connect and delete selected objects 4. Optimize with options 1.8cm selected object 5. Delete all objects which are hiddens 6. Export to obj
  6. Ok no problem :) This is file with that object: Scale selected lines
  7. How to scale selected polygons proportionally. When I selected these lines and scale normals then I have a mess with scaled polygons. Is there any way to solve this problem ?
  8. But it will not too accurate and scale tool decrease thickness of lines in that case.
  9. How to move selected lines ( polygons ) proportionally to attract each other ? I did it with some methods but some methods mess size of lines. This is these methos witch I used -> Move Lines Clip It should be something like scale tool without a scale selected lines just only it have to attract selected lines to each other with proportionally. There are any good fast method ?
  10. So I have split goedesic mesh from entrence edges and now is better to control movement
  11. Here you are: Geodesic Mesh Edge Slide Of course if it isn`t possible then I will do it manually this is no problem but if there is any way to do it faster then it will be great :)
  12. I wanted lift up these line without mess of geometry. Slide Tool Edge Line Clip However I think that I will have to do manually :(
  13. How to force slide tool to move edges in one direction ? When I will move the edge then is problem with direction of movement as in the picture below:
  14. Of course the move directly via normals works perfectly I have done something wrong before when I tried move these objects along the normals. Additionaly the Per-Object Manipulation option in Object Axis must be enabled. Now is everything is ok. Thanks
  15. Mograph Cloner and Array this is not good idea because these tools spoiling position objects. Of course I have to set manually axis of object and then no problem. Earlier I also created a instanced of original object from Mograph Cloner with render instances to snap exact objects to another object. However I am looking for a better and quickly method to arrange these objects contained in null objects.