一个python的UG二次开发简单实例
今天好像搞明白了,ecilpse的python開發環境如何使用的問題。基本步驟如下
1)打開ecilpse和UGNX
2)啟動ecilpse的調試服務(debug server)并打開需要測試的腳本
3)在UGNX中運行腳本回放功能(運行步驟2的腳本),這時UGNX界面會出現類似卡住的現象(應該實在等待ecilpse命令)
4)切換到ecilpse,然后就可以單步調試運行了,UG界面就會根據腳本內容變化了。
個人感覺這個ecilpse的開發環境最大的好處,可以進行命令的補全。程序調試方面感覺并沒有那么順手,可能是我用的不熟練的原因吧。
下面來一段測試代碼吧,畫兩個點,然后兩點連成直線,希望對想學習UG-python開發的有用
# NX 10.0.0.24
import pydevd
pydevd.settrace()
import NXOpen
import NXOpen.UF
mysession=NXOpen.Session.GetSession()
myufsession=NXOpen.UF.UFSession.GetUFSession()
workPart=mysession.Parts.Work
displayPart=mysession.Parts.Display
myui=NXOpen.UI.GetUI()
#pt1=NXOpen.UF.Curve.CreatePoint([0.,0.,0.])
#pt2=NXOpen.UF.Curve.CreatePoint([10.0,10.0,10.0])
coord1= NXOpen.Point3d(0.0, 0.0, 0.0)
pt1 = workPart.Points.CreatePoint(coord1)
pt1.SetVisibility(NXOpen.SmartObject.VisibilityOption.Visible)
pointFeatureBuilder1 = workPart.BaseFeatures.CreatePointFeatureBuilder(NXOpen.Features.Feature.Null)
pointFeatureBuilder1.Point = pt1
nXObject1 = pointFeatureBuilder1.Commit()
pointFeatureBuilder1.Destroy()
coord2=NXOpen.Point3d(10.0,10.0,10.0)
pt2=workPart.Points.CreatePoint(coord2)
pt2.SetVisibility(NXOpen.SmartObject.VisibilityOption.Visible)
pointFeatureBuilder1 = workPart.BaseFeatures.CreatePointFeatureBuilder(NXOpen.Features.Feature.Null)
pointFeatureBuilder1.Point = pt2
nXObject2 = pointFeatureBuilder1.Commit()
pointFeatureBuilder1.Destroy()
#line1=workPart.Curves.CreateLine(pt1,pt2)
#line1.SetVisibility(NXOpen.SmartObject.VisibilityOption.Visible)
associativeLineBuilder1 = workPart.BaseFeatures.CreateAssociativeLineBuilder(NXOpen.Features.AssociativeLine.Null)
associativeLineBuilder1.StartPointOptions = NXOpen.Features.AssociativeLineBuilder.StartOption.Point
point10 = workPart.Points.CreatePoint(pt1, NXOpen.Xform.Null, NXOpen.SmartObject.UpdateOption.WithinModeling)
associativeLineBuilder1.StartPoint.Value = point10
point11 = workPart.Points.CreatePoint(pt2, NXOpen.Xform.Null, NXOpen.SmartObject.UpdateOption.WithinModeling)
associativeLineBuilder1.EndPoint.Value = point11
associativeLineBuilder1.EndPointOptions = NXOpen.Features.AssociativeLineBuilder.EndOption.Point
nXObject3 = associativeLineBuilder1.Commit()
associativeLineBuilder1.Destroy()
#print("this is nx test")
what='this is nx test'
mysession.LogFile.WriteLine(what)
mysession.ListingWindow.Open()
mysession.ListingWindow.WriteFullline(what)
總結
以上是生活随笔為你收集整理的一个python的UG二次开发简单实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React-Native 填坑之List
- 下一篇: python实现图片拼接长图_用Pyth