Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
 - Need support? Ask a question to our Community Support category.
 - Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
 - Be respectful, on topic and if you see a problem, Flag it.
 
If you would like to contact our Community Manager personally, feel free to  send a private message or an email.
Python assembly API -- Creating a mate connector on existing geometry
francesco_nori                
                
                    Member Posts: 4 ✭                
            
                    I am using the python client API to create a mate connector on an existing assembly. The idea is to create a mate connector on an existing geometry. Using the API explorer I could find the body content for a message for the "add feature" function (adding a mate connector on the centroid of the geometry "JKW" belonging to "M420TZZdOPK8489yw" ):
                        
{
  "feature" : {
    "type" : 66,
    "typeName" : "BTMMateConnector",
    "message" : {
      "version" : 4,
      "featureType" : "mateConnector",
      "name" : "Mate connector 1",
      "parameters" : [  {
        "type" : 67,
        "typeName" : "BTMParameterQueryWithOccurrenceList",
        "message" : {
          "queries" : [ {
            "type" : 1083,
            "typeName" : "BTMInferenceQueryWithOccurrence",
            "message" : {"inferenceType" : "CENTROID", "geometryIds" : [ "JKW" ], "path" : [ "M420TZZdOPK8489yw" ]}
          } ],
          "parameterId" : "originQuery"
        }
      } ]
    }
  }
}I am trying to replicate the same behaviour from the python client API. The code looks like:
centroid_query = onshape_client.oas.BTMInferenceQueryWithOccurrence1083(
      bt_type="BTMInferenceQueryWithOccurrence",
      inference_type="CENTROID",
      deterministic_ids=["JKW"],
      path=["M420TZZdOPK8489yw"])
  centroid_parameter = onshape_client.oas.BTMParameterQueryWithOccurrenceList67(
      bt_type="BTMParameterQueryWithOccurrenceList",
      queries=[centroid_query],
      parameter_id="originQuery")
  mate_definition = onshape_client.oas.BTMMateConnector66(
      bt_type="BTMMateConnector",
      feature_type="mateConnector",
      name="Mate connector Python",
      parameters=[centroid_parameter],
      version=4)However, the resulting body message differs from the one above and seems to be missing some information:
Francesco
                {
   "btType":"BTMMateConnector",
   "featureType":"mateConnector",
   "name":"Mate connector Python",
   "parameters":[
      {
         "btType":"BTMParameterQueryWithOccurrenceList",
         "queries":[
            {
               "btType":"BTMInferenceQueryWithOccurrence",
               "inferenceType":"CENTROID",
               "deterministicIds":[
                  "JKW"
               ],
               "path":[
                  "M420TZZdOPK8489yw"
               ]
            }
         ],
         "parameterId":"originQuery"
      }
   ],
   "version":4
}What am I doing wrong?Francesco
0