Quantcast
Channel: OpenPlant | AutoPLANT Forum - Recent Threads
Viewing all articles
Browse latest Browse all 4153

通过图标生成槽钢时 出现'NoneType' object is not iterable错误

$
0
0

import clr
from Bentley.ESM.Geometry import *
import BESM
from BESM import *
import BasicShapes
import SuppPlacement
import Bentley.ESM.Placement
from Bentley.ESM.Placement import *
import Bentley.ESM.PythonSubCommand
from Bentley.ESM.PythonSubCommand import *
import Bentley.ESM.Utilities
from Bentley.ESM.Utilities import *
import Bentley.ESM.Briefcase
from Bentley.ESM.Briefcase import *
from Bentley.ESM.EngineeringTools import *
from Bentley.ESM.Briefcase.Sync import *

BESM.agr = aggregator

ClearMessageBox()

Message("Start CERI_A Script")

def CreateCERI_ChannelSteelAModelObject(className,uom):

modelObj = BESM.agr.CreateInstance(className)

modelObj.AddTempProperty(BESM.agr.CreateTempProperty('H', {'UIcategory':'CERI', 'DisplayLabel':'length', 'DataType':'Double', 'Default':'100', 'UOMType': 'LENGTH', 'options':'', 'ordinal' : 1}))


UILink.InstanceList.Add(modelObj)
BESM.agr.CreateInstanceModelessUI()

modelObj = UILink.InstanceList.ActiveInstance

if modelObj == None:
return

modelObj.SetStringValue("Parameters", modelObj.SerializeParams("H"))


UILink.InstanceList.Clear()

return modelObj

def CreatePartShape(modelObj,name):
uom = "MM"
partSpace = BESSpace(name)

len = modelObj.GetRealValue("H", 0.0, uom)
Message("len = %s %s" % (len,uom))

width = 53
depth = 126
webThk = 5.5
flgThk = 5.5

dy = 0
dz = 0

profC = BESExtrusion("profC", "PROFILE_C", "LEFT", uom, width, depth, webThk, flgThk, dy, dz, len)
partSpace.AddBESPiece(profC)

return partSpace

def PlacePart():

name = "CERI_A"
uom = "MM"

SuppPlacement.SetVisuals("SupportClamp", "GENERIC")

pipe,pipeOD = SuppPlacement.GetPipeParams("Select Pipe",uom)

# if (pipe == None):
# return

modelObj = CreateCERI_ChannelSteelAModelObject("CERI_A","MM")

if modelObj == None:
Message("User canzelled placement")
return

Message("I placement ok")
partSpace = CreatePartShape(modelObj,name)

part = BESGroup(name)
part.AddBESPiece(partSpace)
part.ecObject = modelObj.ECInstance

plcParams = PlacementData()
wk = Bentley.ESM.PlaceSeq()

if pipe != None :
plcParams.YawLocked = False
plcParams.PitchLocked = True
plcParams.RollLocked = False
wk.PushItem( pipe )
wk.AddPlacement( PyCmdPathPlc, plcParams)
else:
wk.AddPlacement( PyCmdFloatPlc, plcParams)

compInfo = ProcessElement( part, wk)

return

PlacePart()


Viewing all articles
Browse latest Browse all 4153

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>