## Reads message, checks for syntax errors for i in range (0, 12): line = ser.readline() print(line.decode(), end="") last_largeAngle = 0 last_smallAngle = 0 ### Read Data and call API for i in range(0, 5000): ## Gets Assembly Information assembly = onshape.getAssemblyInfo(False) ## Large Motor - MzWJgxFiO/4uQvXjc largePos = transform.decodeMatrix(assembly["MzWJgxFiO/4uQvXjc"]["position"], False) # Transform matrix for rot90ccY transformation toRemove = transform.getTranslationMatrix(transform.commonTransforms['rot90ccY'], False) # Gets filtered position (in the form of a transform matrix) filteredPos = transform.removeRot(assembly["MzWJgxFiO/4uQvXjc"]["position"], toRemove, False) largePosNew = transform.decodeMatrix(filteredPos, False) largeAngle = int(largePosNew[6]) if largePosNew[6] > 0: largeAngle = 90 - largeAngle else: largeAngle = 90 + largeAngle print("\t Large Angle:", largePosNew[3], largeAngle)
# !pip3 install -r requirements.txt import utils.onshape_utils as onshape import utils.api_utils as api did = "688d52d4b40fa464e65b9335" wid = "9399f9d1b4a559d90a2ac87a" eid = "c9a50713ea054cf8b1803b2c" access = "DMq7FljpquvzkaoXdLTlRvLY" secret = "fE7W1fcL40v4JoLuNJQ7VbFXquEbzFELurr1NmB7MAcAOku8" # access = [access key] # secret = [secret key] onshape.connectToOnshape(did, wid, eid, access, secret, verbose=True) ## TODO: test with base and secret # api.setArgs(did, wid, eid) # api.setKeys(access, secret) # api.connectToClient(verbose=True) assemblyInfo = onshape.getAssemblyInfo(True)
# # # API Enviroment Set Up # # # ############################################# api.checkArgs(True) ### Most server stuff is abstracted away in api_utils ############################################# # # # Assembly Info # # # ############################################# ### Get Assembly Information from the API assemblyInfo = onshape.getAssemblyInfo(True) ## Print Parts and Positions (decode their transfomation arrays) for identifier in assemblyInfo: print(assemblyInfo[identifier]["partName"], "(" + identifier + ")") transform.decodeMatrix(assemblyInfo[identifier]["position"], True) print() ############################################# # # # Prepare and Perform Transform # # # ############################################# ### Get User Input