License Delivery maintenance is expected to occur on Saturday, November 30, between 8 AM and 11 AM CET. This may cause a short 3-hours outage in which license-related tasks: license key upload, download, update, SSA validation, access to the license pool and Graphisoft ID authentication may not function properly. We apologize for any inconvenience.
Archicad C++ API
About Archicad add-on development using the C++ API.

Gsm object position issue with Archicad

sijocherian
Contributor

Hi Team,
I am experiencing a problem with a Library Object that I have trying to render through code in Archicad. 
The midpoint of the object while saving it as a gsm is on the center point of the object.
While when i try to create this object to archichad using API, the global position of the object gets defined by the top right corner of the object. No matter the rotation and position, it is always this top left corner from the center point of the IFC structure. 
But if we Place this element through UI, The global position should always be the centre point of the object.

sijocherian_0-1702966344291.png


Is there any way to make the the rendering point in archicad from top right corner to the centre?

Code:

 

 

GSErrCode CreateFurnitureElement(int storey, const char* name, API_Coord pos, double angle)
{

	API_Element element = {};
	BNClear(element);
	SetAPIElementType(element, API_ObjectID);

	API_ElementMemo memo{};
	BNClear(memo);

	GSErrCode err = ACAPI_Element_GetDefaults(&element, &memo);
	if (err != NoError)
	{
		return err;
	}

	element.object.head.floorInd = short(storey);

	Int32 libInd = GetLibraryIndex(name, APILib_ObjectID);
	if (libInd > 0)
	{
		element.object.libInd = libInd;
		element.object.pos = pos;
		element.object.angle = angle;
		err = ACAPI_Element_Create(&element, &memo);
		if (err != NoError)
		{

			return err;
		}
	}
	return NoError;
}

 

 

Thank you.





0 REPLIES 0