zoukankan      html  css  js  c++  java
  • 使用Python脚本示例10之Part一:使用Python脚本简介

    本内容中使用的数据来自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帮助我们改变模型外观。

  • 相关阅读:
    分享25个高质量的移动设备wordpress主题(Mobile theme)
    一个强大专业的响应式jQuery幻灯效果插件:Royal Slider
    超过30个超棒的漂亮iphone 4s墙纸
    帮助你自动生成已经过去的时间的jQuery插件 Smart Time Ago
    分享20个响应式web设计的必备jQuery插件
    2012年度最新免费web开发设计资源荟萃
    myEclipse 下载
    extjs 配置与表格使用
    mysql 4.0.26 安装流程
    spring+ehcache 实现原理
  • 原文地址:https://www.cnblogs.com/esrichina/p/2830810.html
Copyright © 2011-2022 走看看