2016-11-16

Git-Bash 啟動的一些筆記

-c: 執行命令

k:\git\git-bash.exe -c "echo Welcome &&read"


--cd: 切換至目錄(/j/)

k:\git\git-bash.exe --cd="/j/"


--cd-to-home: 切換至使用者Home目錄

k:\git\git-bash.exe --cd-to-home


~/.minttyrc檔案: 設定啟動視窗位置在(0, 0)

X=0
Y=0


pass command by Environment Vars "runsh"

1.在~/.bashrc最後加入以下指令碼

shcmd=$runsh
shcmd=$(echo $shcmd|sed -r 's/\ +$//g')
shcmd=$(echo $shcmd|sed 's/^"//')
shcmd=$(echo $shcmd|sed 's/"$//')
rc=$(echo -n $shcmd|wc -c)
if [ $rc -ge 1 ]; then
echo --- runsh ---
echo [$shcmd]
eval $shcmd
fi

2.設定指令到環境變數runsh並啟動git-bash

cmd /u /c set runsh="cd /j/SkyDrive && ll"     && k:\git\git-bash.exe
cmd /u /c set runsh="cd /j/SkyDrive/work" && k:\git\git-bash.exe

2016-11-01

建立Blender啟動時載入自訂的Python Module Function

首先找出Blender(Version 2.78)安裝位置

我自訂的位置在 "T:\Blender Foundation\Blender"

將自訂的Python Module Function檔案,mytool.py放到下面目錄

"T:\Blender Foundation\Blender\2.78\scripts\startup"

完整檔案路徑變
"T:\Blender Foundation\Blender\2.78\scripts\startup\mytool.py"

這時啟動Blender(或是重新啟動),就會自動載入mytool.py


例如:mytool.py裡面定義了2個Function,ver()和scrArea()

import bpy
def ver():
vv = "1.01"
print( "Version: " + vv )
#_ def ver
def scrArea():
for window in bpy.context.window_manager.windows:
screen = window.screen
print( "Screen NAME:", screen.name, " Areas: "+ str(len(screen.areas)) )
for area in screen.areas:
print( "\tarea.type=", area.type )
#_ for area
#_ for window
#_ def scrArea

這時就可以在Python Console下這樣呼叫使用

載入Module  mytool

import mytool

執行Function ver() 

mytool.ver()
Version: 1.01

執行Function scrArea() 

mytool.scrArea()
Screen NAME: Default  Areas: 8
    area.type= INFO
    area.type= PROPERTIES
    area.type= OUTLINER
    area.type= VIEW_3D
    area.type= OUTLINER
    area.type= CONSOLE
    area.type= TIMELINE
    area.type= TEXT_EDITOR

不用重新啟動Blender更新mytool.py的Python Module Function

在Python Console下

import imp 
imp.reload(mytool)
<module 'mytool' from 'T:\\Blender Foundation\\Blender\\2.78\\scripts\\startup\\mytool.py'>
這樣mytool Module就是最後修改狀態了


Blender執行外部Python檔案(.py)

首先將一個Area切換至Python Console


在Python Console下

輸入外部bd-t00.py檔案位置

filename = "j:\\SkyDrive\\work\\python\\bd-t00.py"

執行該檔案

exec(compile(open(filename).read(), filename, 'exec'))

若是檔案格式為UTF-8 BOM的話,上面命令會出現SyntaxError,改為執行

exec(compile(open(filename,encoding="utf-8-sig").read(), filename, 'exec'))


另一種方式,也是在Python Console下

輸入外部bd-t00.py檔案位置

filename = "j:\\SkyDrive\\work\\python\\bd-t00.py"

執行命令

bpy.ops.script.python_file_run( filepath=filename )