본문 바로가기

Coding

[3dsMax python] Start up C:\Program Files\Autodesk\3ds Max 2018\scripts\Startup 더보기
[c4dpython] Tag Tag 태그 가져오는 코드 tags = object.GetTags() 특정 태그만 가져오는 건 아래처럼 하면 됩니다. doc = c4d.documents.GetActiveDocument() op = doc.GetActiveObject() wt = op.GetTag(c4d.Tvertexmap) 더보기
[3dsMax python] Menu & Macroscript with pymxs Menu 맥스에 맨위에 메뉴바가 있는데 여기를 코드로 수정, 추가하는 법을 알아보려고 합니다. 기존메뉴에 추가/삭제 3ds Max 2021 버전에서는 런타임 글로벌 변수를 쉽게 만들수 있지만(rt.a = 'hi'), 그 하위 버전에는 아래 코드 처럼 만들어야 합니다.ㅜㅜ (한참 찾음) 그리고 매크로 스크립트를 생성해주고, 메뉴아이템을 만들어 줍니다. from pymxs import runtime as rt import re def myfunc(): print 'Hello' rt.execute('global abcd') rt.globalVars.set('abcd', myfunc) # category, macroName, tooltip, text, function t = rt.macros.new('test'.. 더보기
[c4dpython] material & textrue Material Texture 3ds max 와 달리 Texture는 Material에 종속된 개념이 아닌것 같다.. 일단 내가 다뤄야할 텍스쳐는 Bake Texture 이다. 더보기
[c4dpython] GUI GUI yes no dialog rvalue = c4d.gui.QuestionDialog("Hello") name = c4d.gui.InputDialog("input:") File Explorer import c4d fn = c4d.storage.LoadDialog() doc = c4d.documemnts.LoadDocument(fn.decode("utf8")) GeDialog example import c4d from c4d import gui #Welcome to the world of Python GROUP_ID1=1000 TEXTBOX=1001 BUTTON1=1002 BUTTON2=1003 class ExampleDlg(gui.GeDialog): def CreateLayout(self): #cre.. 더보기
[c4d python] 스크립트 사용법 (+ Plugin) Cinema 4D 3D 디자이너들은 다양한 툴을 다루는것 같은데, 그중 Cinema 4D 라는 툴도 유명한것 같습니다. 우연히 기회가 생겨 Cinema 4D 플러그인을 만들어 볼려고 합니다. 😎 환경구축 자동완성이나 Lint도 있는 것 같지만, 일단 제일 기본적인 환경구축을 해볼려고 합니다. Script 탭에서 Console과 Script Manager를 킵니다. 그리고 저는 파이참에서 코딩을 하고, 파일을 Script Manager로 Open 해서 실행을 했습니다. 첫 코드! 선택한 오브젝트의 이름을 출력해보자! obj = doc.GetActiveObject() print obj.GetName() 출력이 되네요! 저 파란색부분을 드래스 해서 위에 버튼으로 만들수도 있습니다😀 하지만 두개를 클릭하면 에러.. 더보기
[golang] 패키지 만들어보기 패키지 메인 패키지를 임포트해서 사용해보다가 패키지를 만들어보겠습니다.😎 만든 패키지는 만들어서 GOPATH 의 src 아래에 넣어야지 인식이 가능합니다. go env 명령어로 GOPATH 를 확인하고 패키지를 만들어줍니다. 저같은 경우는 C:\go-workspace\src 밑에 cal 폴더를 만들고 안에 sum.go 를 만들었습니다. // Sum.go package cal // Sum function func Sum(a int, b int) int { return a + b } 다른곳에서 이제 사용이 가능합니다. 함수 첫글자를 대문자로 해야지 그 함수를 아래처럼 외부에서 사용가능합니다. package main import ( "cal" "fmt" ) func main() { result := cal.S.. 더보기
[golang] 채널 (Channel) 고루틴 고루틴이 비동기여서, 메인이 먼져 종료가 되여 문제가 있습니다. 아래는 문제의 코드입니다. WaitGroup을 통해 대기하면 되겠지만, 그건 기다리게 할뿐 고루틴 사이에 흐름을 제어하지는 않습니다. package main import "fmt" func main() { var a, b = 10, 5 var result int go func() { result = a + b }() fmt.Printf("두 수의 합은 %d입니다.", result) } 채널 일단 고루틴이 접근할 수 있는 고루틴만의 공간을 채널이라고 생각해봤습니다. 채널은 값을 받을 때까지 대기하고 (main) 채널이 값을 받을 때 까지 고루틴도 대기 합니다. package main import "fmt" func main() { va.. 더보기