使用Python脚本示例10之Part一:使用Python脚本简介
2013-01-15 10:22
896 查看
本内容中使用的数据来自Esri CityEngine培训数据Tutorial_10_Python_Scripting__2011_1,有需要的同学可以猛戳这里进行下载。
1. Python控制台
在Window——Show Console,在右侧出现的控制台中选择新建一个Python控制台:
这样便打开了一个新的Python命令窗口
输入以下命令:
ce.setSelection(ce.getObjectsFrom(ce.scene, ce.withName("*Broadway*")))
这个命令可以选择场景中名称里包含Broadway的要素
2. Python编辑器
当计划使用更多更高级的Python命令时,使用Python编辑器是比较有帮助的。
(1) 选择File—New…——Python Module
(2) 在Python模块向导中选择将Python脚本存放的文件夹位置
(3) 为将创建的python脚本命名,此处命名为myHelper
(4) 选择模板,此处以Main函数模板为例。
(5)点击Finish完成创建。
创建好之后就在窗口中打开了一个Python编辑器的窗口。
(6) 在编辑器中新建selectByAttribute(attr,value)函数:
def selectByAttribute(attr, value):
objects = ce.getObjectsFrom(ce.scene)
selection = []
for o in objects:
attrvalue = ce.getAttribute(o, attr)
if attrvalue == value:
selection.append(o)
ce.setSelection(selection)
然后在main函数中调用该函数:
if __name__ == '__main__':
selectByAttribute("connectionStart","JUNCTION")
(以上代码含义是将场景中所有connetionStart属性中值为JUNCTION的要素选择出来)
写好代码之后点击保存,然后按F9运行这段代码,
也可以在Python控制台中,指定脚本的路径,导入这个脚本,然后在控制台中调用刚才写的myHelper,并且填入所需的参数。命令如下:
>>> sys.path.append(ce.toFSPath("scripts"))
>>> import myHelper
>>> myHelpers.selectByAttribute("connectionEnd", "CROSSING")
此时选择的是connectionEnd属性中值为CROSSING的要素。
*添加一个启动脚本
在CityEngine工作空间中创建一个新的startup.py脚本,并在此脚本中添加如下语句使得刚才编写的myHelper脚本能够在CityEngine启动时就加载进行来。
import sys
sys.path.append({PATH_TO_YOUR_SCRIPTS_DIRECTORY})
# e.g. sys.path.append("C:\user\CityEngine\MyProject\scripts\")
import myHelper
下次CityEngine启动时,myHelper将自动被加载,可以在Python控制台中以下面的方式使用selection函数:
>>> startup.myHelpers.selectByAttribute("connectionEnd", "JUNCTION")
startup.py只有在CityEngine启动时才会被加载,因此修改该脚本后,需要重启CityEngine。
本篇简单了解如何在CityEngine中使用Python,下一篇将介绍使用Python帮助我们改变模型外观。
1. Python控制台
在Window——Show Console,在右侧出现的控制台中选择新建一个Python控制台:
这样便打开了一个新的Python命令窗口
输入以下命令:
ce.setSelection(ce.getObjectsFrom(ce.scene, ce.withName("*Broadway*")))
这个命令可以选择场景中名称里包含Broadway的要素
2. Python编辑器
当计划使用更多更高级的Python命令时,使用Python编辑器是比较有帮助的。
(1) 选择File—New…——Python Module
(2) 在Python模块向导中选择将Python脚本存放的文件夹位置
(3) 为将创建的python脚本命名,此处命名为myHelper
(4) 选择模板,此处以Main函数模板为例。
(5)点击Finish完成创建。
创建好之后就在窗口中打开了一个Python编辑器的窗口。
(6) 在编辑器中新建selectByAttribute(attr,value)函数:
def selectByAttribute(attr, value):
objects = ce.getObjectsFrom(ce.scene)
selection = []
for o in objects:
attrvalue = ce.getAttribute(o, attr)
if attrvalue == value:
selection.append(o)
ce.setSelection(selection)
然后在main函数中调用该函数:
if __name__ == '__main__':
selectByAttribute("connectionStart","JUNCTION")
(以上代码含义是将场景中所有connetionStart属性中值为JUNCTION的要素选择出来)
写好代码之后点击保存,然后按F9运行这段代码,
也可以在Python控制台中,指定脚本的路径,导入这个脚本,然后在控制台中调用刚才写的myHelper,并且填入所需的参数。命令如下:
>>> sys.path.append(ce.toFSPath("scripts"))
>>> import myHelper
>>> myHelpers.selectByAttribute("connectionEnd", "CROSSING")
此时选择的是connectionEnd属性中值为CROSSING的要素。
*添加一个启动脚本
在CityEngine工作空间中创建一个新的startup.py脚本,并在此脚本中添加如下语句使得刚才编写的myHelper脚本能够在CityEngine启动时就加载进行来。
import sys
sys.path.append({PATH_TO_YOUR_SCRIPTS_DIRECTORY})
# e.g. sys.path.append("C:\user\CityEngine\MyProject\scripts\")
import myHelper
下次CityEngine启动时,myHelper将自动被加载,可以在Python控制台中以下面的方式使用selection函数:
>>> startup.myHelpers.selectByAttribute("connectionEnd", "JUNCTION")
startup.py只有在CityEngine启动时才会被加载,因此修改该脚本后,需要重启CityEngine。
本篇简单了解如何在CityEngine中使用Python,下一篇将介绍使用Python帮助我们改变模型外观。
相关文章推荐
- 使用Python脚本示例10之Part二:设置street宽度
- 两个使用Python脚本操作文件的小示例分享
- 使用Python脚本来获取Cisco设备信息的示例
- Java实现的执行python脚本工具类示例【使用jython.jar】
- 两个使用Python脚本操作文件的小示例分享
- 使用Python脚本来获取Cisco设备信息的示例
- python使用rabbitmq实现网络爬虫示例
- 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)
- Python使用matplotlib简单绘图示例
- Python实现OpenCV的安装与使用示例
- 使用python脚本批量向多个主机发送ssh公钥
- python中MethodType方法介绍与使用示例
- Android——使用Python脚本进行多渠道打包-秒打100个包!
- 使用python统计文件行数示例分享
- Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
- Python脚本分析CPU使用情况
- python---(10) python模块的使用
- C#调用Python脚本的简单示例
- Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程
- 从使用Python开发一个Socket示例说到开发者的思维和习惯问题