當前位置:首頁 » 編程語言 » python二次開發

python二次開發

發布時間: 2022-08-09 16:16:57

1. python 二次開發中遇到的問題

import kcs_ui
import KcsVector3D
import kcs_draft
import kcs_draft
import kcs_gui
import kcs_util
import kcs_db
from KcsObjectCriteria import ObjectCriteria
import os
//以上導入python庫

list = []/使用列表 數據結構
kcs_db.object_list_get(ObjectCriteria(),"SB_PDB",list)//從資料庫讀取圖紙列表到list中存儲起來
list = map(lambda x : x.GetName(), list)//在list中建立鍵值映射
n = len(list) //求出list長度
req = kcs_ui.answer_req("prompt","There are %d piece of drawing.Do you want to export."%n)//詢問是否導出
if req == kcs_util.yes()://若是
os.makedirs(r'e:\dxf')//建立目錄
for i in range(n)://遍歷list中的元素
name = list[i]
dxfname = name.replace(":","_")//做名字處理
kcs_draft.dwg_open(name)//打開文件
kcs_draft.dwg_dxf_export('e:\\dxf\\%s.dxf'%dxfname)//導出到該文件
kcs_draft.dwg_close()//關閉文件
kcs_ui.message_confirm("Export is succeed")//列印成功信息

2. 用python能進行revit二次開發嗎

想掌握revit的二次開發需要了解如下內容:
1、BIM 平台軟體的操作、功能,比如revit 軟體的操作和功能了解。
2、了解平台軟體的API的用法,比如revit API
3、閱讀revit SDK中的幫助文檔和常式代碼。
4、自己手動編寫幾個簡單的小程序來學習BIM軟體的開發。

3. 用python二次開發catia的問題。

關鍵python只是一種語言。要進行二次開發,關鍵還是看abaqus,提供了什麼介面我強烈建議你以後問這種專業問題不要到網路知道問,一來有時間限制,二來會的

4. Python二次開發是什麼意思

1、Python含義

Python 是一種面向對象的動態類型語言,如今被廣泛用於獨立的、大型項目的開發。

2、二次開發的含義

二次開發,簡單的說就是在現有的軟體上進行定製修改,功能的擴展,然後達到自己想要的功能,一般來說都不會改變原有系統的內核。

3、Python二次開發

Python二次開發顧名思義就是將Python作為腳本語言對系統進行定製修改,功能擴展,從而讓系統變得更全面,便於企業的長遠發展。市面上系統支持用Python進行二次開發不少,例如:百數搭建的系統就支持用Python進行二次開發,有需要的小夥伴們可以了解一下。

5. 如何利用python的第三方介面進行二次開發

管理軟體的二次開發就是在現有軟體產品的基礎上,針對客戶的個性化需求進行的開發,一般是由軟體產品的開發廠商進行,或由廠商提供二次開發介面和源碼由第三方來進行。不同於完全的定製開發,二次開發不是從頭開發

6. python和vb二次開發solidworks哪個更好

Python。
1.VB只能用於windows,python可以多平台使用總體來看,python的適用性更廣。2.難易程度不同Python好學,易上手,並且Python目前使用的也越來越廣,而市面上現在用VB系統的偏少。3.Python能夠快速對電腦的文檔軟體進行處理,運行速度比較快,處理起來得心應手而無論是C、還是VB,面對大多數任務,編碼速度都不及Python的VB能快速的生成一個用戶界面但編寫之後的代碼無論是執行效率還是可讀性,相對而言都是比較差的所以Python更好。
SolidWorks是達索系統下的子公司,成立於1993年,專門負責研發與銷售機械設計軟體的視窗產品,公司總部位於美國馬薩諸塞州Solidworks於1995年推出第一套SolidWorks三維機械設計軟體,兩年後被法國達索公司收購,作為達索中端主流市場的主打品牌。

7. python用pyautocad進行cad二次開發,連接總是出錯OSError: [WinError -2147024156] 請求的操作需要提升

有可能是許可權問題
啟動python的時候 先用管理員身份打開命令行,然後再執行python

8. 如何用Python進行微信二次開發

創建步驟:

1.申請免費且支持python的伺服器,新浪雲sae,新建SAE應用之後,有兩種代碼提交方式,建議使用SVN(因為git支持代碼提交,但不支持環境配置);

2.將對應版本的信息復制到微信開發-基本配置-URL,提交顯示錯誤,因為還沒有寫代碼,可以先用web框webpy架寫個網頁;

查看webpy使用說明:http://www.webpy.org/install.zh-cn

查看ase進行python開發入門說明:http://www.sinacloud.com/doc/sae/python/index.html

3.配置信息,告訴新浪雲需要什麼運行環境。點擊代碼管理-編輯代碼,將用到的第三方庫信息寫入config.yaml,注意破折號,冒號後面空格!!

libraries:
-name:webpy
version:"0.36"

-name:lxml
version:"2.3.4"

在index.wsgi文件中寫入python啟動程序
新建文件,寫入接受微信get請求驗證的Python文件

4.在index.wgsi中寫入以下信息:

#coding=utf-8

importos
importsae
importweb#配置web的路由
urls=(
'/weixin','WeixinInterface'
)
#拼接路徑
app_root=os.path.dirname(__file__)
templates_root=os.path.join(app_root,'templates')
#渲染模版
render=web.template.render(templates_root)

#啟動app
app=web.application(urls,globals()).wsgifunc()
application=sae.create_wsgi_app(app)

5.在自己編寫的Python文件中寫入微信驗證和接受信息的程序

#coding=utf-8

importhashlib
importweb
importtime
importos
fromlxmlimportetree

#hashlib用於加密,md5,hash等
#lxml用來解析xml文件

classWeixinInterface(object):
#初始化
def__init__(self):
#拼接路徑
self.app_root=os.path.dirname(__file__)
self.templates_root=os.path.join(self.app_root,'templates')
#渲染模版
self.render=web.template.render(self.templates_root)

#使用get方法,接收微信的get請求,看開發者文檔的說明
#http://mp.weixin.qq.com/wiki/8/.html
defGET(self):
data=web.input()
signature=data.signature#微信加密簽名
timestamp=data.timestamp#時間戳
nonce=data.nonce#隨機數
echostr=data.echostr#隨即字元串
token='zq90857'#自己設置的token

#將token、timestamp、nonce三個參數進行字典序排序
list=[token,timestamp,nonce]
list.sort()
#將三個參數字元串拼接成一個字元串進行sha1加密
sha1=hashlib.sha1()
map(sha1.update,list)
temStr=sha1.hexdigest()#加密
#判斷
iftemStr==signature:
returnechostr

6.假設接收文字信息,按照開發者文檔的要求,配置template文件夾下reply_text.xml文件

$defwith(toUser,fromUser,createtime,content)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>$createtime</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$content]]></Content>
</xml>

9. Arcgis Engine二次開發用python可以嗎

1.自定義工具箱是什麼
就像名字一樣,自定義工具箱是由個人創建的工具箱,就像下面這樣,可以理解成一個 .tbx 後綴的壓縮包,每一個工具箱中都可以添加多個工具集、腳本工具甚至模型構建器工具。
一大堆工具箱
1.1如何添加自定義工具箱(熟悉可跳過)
第一步:右鍵點擊 ArcToolbox -> 添加工具箱
第二步:在打開的添加工具箱窗口中選中需要添加的工具,然後點擊右下角的打開即可。
添加工具箱到 Arcmap
1.2如何創建自定義工具箱
點擊右上角的紅色工具箱符號,可以新建並重命名一個工具箱。
我們這里新創建了一個海怪工具箱,用於之後的教程演示。
新建工具箱
1.3添加一個腳本工具
新創建的工具箱就像一個大箱子,箱子呢是用來裝工具的,你可以直接在工具箱中右鍵,然後點擊添加,再點擊腳本,進而創建一個腳本工具;
亦或是右鍵,點擊新建,再點擊工具集,創建一個可以自定義名稱的工具集,然後在工具集里新建一個腳本工具。
這里添加的腳本工具只是一個空殼,我們後面會繼續完善。
新建的工具箱位於 ../Chapter7/海怪工具箱.tbx。
2.工具箱的封裝
工具箱由三部分組成,其中有兩部分需要我們來控制:
一是輸入界面:確定工具箱輸入界面的參數定義和設置;

二是 Python 源代碼:功能的實現,為 .py 後綴的腳本文件;
三是對參數行為提供額外控制的可選驗證代碼,其位於工具箱中(這部分自帶,基本上不用修改)。
所以下面的重點就是輸入界面和 Python 源代碼。
2.1工具箱輸入界面

工具箱輸入界面,或者說圖形交互界面(GUI),就像下面的幾張圖一樣,從該界面我們可以控制工具的行為,自定義輸入界面然後配合 Python 腳本,可以實現多種客制化的功能。
簡單來說,你可以認為輸入界面是依託於 Arcmap 的「前端」,腳本代碼就是負責運行的「後端」。

導入導出工具:

為方便演示,製作一個非常簡單的工具箱,它的功能呢就是把輸入的要素類(資料庫或者 shp )再導出來而已,是完全沒有用的導入導出功能啦,不過作為演示還是非常不錯的。
製作完成後的導入導出工具的界面
第一步:
在工具箱中,右鍵點擊添加,再點擊腳本,然後修改名稱,修改成你想要的名字,勾選存儲相對路徑名,然後點擊下一頁。
修改名稱
第二步:
然後添加腳本文件,添加該腳本文件 ../Chapter7/toolscript/input_and_output.py,讀者可以在最後的下載包中找到該文件。
然後點擊下一頁。
鏈接python腳本
第三步:
控制用戶交互界面。ArcGIS 在這里內置了一整套簡單但是實用的圖形控制項,比如輸入菜單、下拉框、多選框、單選等,藉由這些圖形控制項我們可以控制腳本工具的圖形交互界面。
我們這里使用的腳本功能非常簡單,上面也有說到:輸入一個矢量要素類,不做任何處理,然後輸出一個矢量要素類。
為了匹配這個腳本,我們需要設置一個輸入圖層的控制項,同時為了能順利的輸出,也需要一個輸出圖層的控制項,注意一個是輸入一個是輸出。
從下圖可以看到,左邊(左邊的橙色框)是顯示名稱,其中輸入輸出控制項的名稱以及輸入控制項的名稱,這里命名為輸入要素和輸出要素;然後在右邊(右邊的橙色框)的數據類型下拉框中,我們選擇要素圖層,這里只能做選擇,不能任意輸入。
設置名稱和數據類型
那麼輸入輸出是如何區分的呢?
選中輸入要素(變成藍色),然後可以看到下方(下方橙色框)的參數屬性設置選項卡,這里可以對參數進行調整。

參數選項
① 類型:有三種,一般只會用到 Required 和 Optional,表示必須和可選,用於控制參數是否可以忽略不填;
② 方向: 兩種,Input 和 Output,表示輸入和輸出,大部分情況都是使用 Input 來獲得參數,Output 用於獲得最後的成果數據,像是矢量、柵格或者圖表;
③ 多值:Yes 或者 No,用於輸入多個相同類型的數據,工具打開後就是下面這樣,在輸入要素中可輸入多個要素類;
④ 默認:設置一個控制項的默認值,直接輸入即可。可配合多值一同使用,使用 ; (英文的分號)分開,
結果如下,可以看到一打開該工具就已經填充上了預設的多個默認值(報錯是因為數據類型不是要素圖層);
⑤ 環境:工具箱的環境設置,比如掩膜、容差范圍、默認資料庫位置等,一般不預先設置;
⑥ 過濾器:選擇文件類型可以在選擇文件時只顯示特定格式的文件;
⑦ 獲取自:指定數據的獲取源。這是個什麼意思呢?比如我們想要獲取圖層A的某個欄位,獲取源就是圖層A。
以下面這種圖作為例子,新增名為欄位的控制項(上方的橙色框),數據類型也是欄位,然後參數屬性中獲取自選擇輸入要素(下方橙色框)。
設置欄位控制項
點擊完成後,打開腳本工具。在輸入要素框中選擇一個圖層,然後再點擊獲取欄位,如下就可以選擇圖層中的欄位了。
獲取圖層的欄位
⑧ 符號系統:在最下面還有一個符號系統,通常只能作用於輸出的矢量圖層(方向:Output),可為輸出圖層指定設置好的 lyr 文件樣式。
設置符號系統
第四步:
點擊右下方的完成,那麼腳本工具的輸入界面就完成了。

2.2 Python 腳本

工具箱輸入界面和 Python 代碼要相互配合才行,工具箱界面中的輸入、輸出以及各種各樣的參數,在 Python 腳本文件中都得一一對應上,將輸入界面中的各個參數傳給 Python 腳本,這樣才能讓 Python 腳本按照預期的效果正常運行。
看上去有點麻煩,但實際上 arcpy 中提供了現成的函數就可以直接獲得參數。
①參數對接(獲取)

至於如何對接參數,我們使用剛剛的那個腳本文件舉例:

../Chapter7/toolscript/input_and_output.py

# -*- coding:utf-8 -*-

import arcpy

#▶1◀

input_lyr = arcpy.GetParameterAsText(0)

output = arcpy.GetParameterAsText(1)
if __name__ == '__main__':

lyr = arcpy.mapping.Layer(input_lyr)
arcpy.CopyFeatures_management(lyr, output)
▶1◀:arcpy 提供了 GetParameterAsText(index) 函數,該函數根據輸入界面的排序號碼獲得指定的參數。比如 GetParameterAsText(0) 獲得的就是輸入圖層參數, GetParameterAsText(1) 獲得的就是第二個參數,也就是輸出圖層參數。
如果有更多參數,以此類推。
②參數對接中應該注意的情況
GetParameterAsText(index) 從輸入界面獲得的參數都會轉變成字元串,沒錯都是字元串。
如果你只是輸入輸出地址這種,那麼沒有問題,因為地址本來就是字元串,但是如果你設置了一個選擇長度范圍的長整型的控制項、亦或是某種布爾值選擇,最後輸入到 python 腳本這里都會變成字元串。
整數變成字元串,使用 int(str) 規避;
布爾型變成字元串,True 變成了 "True",False 變成了 "False",這樣就不能判斷真假了,需要寫一個判斷語句或者隨便你,方法很多;
還有就是一個輸入控制項多值的情況,所有值根據先後連接成一個字元串,中間由 、(英文分號)間隔,可以使用 split 函數分開;

熱點內容
csgo建議什麼配置 發布:2024-03-29 13:31:44 瀏覽:979
電腦ftp服務如何禁用 發布:2024-03-29 13:24:48 瀏覽:331
驅動精靈驅動解壓 發布:2024-03-29 13:07:49 瀏覽:564
學編程好學嗎 發布:2024-03-29 13:07:34 瀏覽:439
python保存mp3文件 發布:2024-03-29 12:47:10 瀏覽:151
win10怎麼配置jdk8 發布:2024-03-29 12:47:09 瀏覽:535
解壓軟體java 發布:2024-03-29 12:40:32 瀏覽:282
長安cs35壓縮比 發布:2024-03-29 12:39:58 瀏覽:176
java中編譯器默認導入jdk包 發布:2024-03-29 12:23:26 瀏覽:365
中山大學資料庫 發布:2024-03-29 12:20:44 瀏覽:695