I have some question about SUDimensionLinearRef

How can get offset vec and position of text?

#include<iostream>
#include<vector>
#include<SketchUpAPI/sketchup.h>

int main(int argc, char** argv) {
	SUInitialize();
	SUModelRef model = SU_INVALID;
	SUModelLoadStatus status;
	SUModelCreateFromFileWithStatus(&model, "H:/desktop/111.skp", &status);
	SUEntitiesRef entities = SU_INVALID;
	SUModelGetEntities(model,&entities);
	size_t count = 0;
	SUEntitiesGetNumDimensions(entities, &count);
	if (count > 0) {
		std::vector<SUDimensionRef> dimes(count);
		SUEntitiesGetDimensions(entities, count, &dimes[0], &count);
		for (const SUDimensionRef dime : dimes) {
			SUDimensionLinearRef dime_linear =	SUDimensionLinearFromDimension(dime);
			if (SUIsInvalid(dime_linear)) continue;
			std::cout << "===========" << std::endl;
			SUPoint3D pt = { 0,0,0 };
			SUInstancePathRef path = SU_INVALID;
			SUInstancePathCreate(&path);
			SUDimensionLinearGetStartPoint(dime_linear, &pt, &path);
			std::cout << "Start:" << pt.x << " " << pt.y << " " << pt.z << std::endl;
			SUDimensionLinearGetEndPoint(dime_linear, &pt, &path);
			std::cout << "End:" << pt.x << " " << pt.y << " " << pt.z << std::endl;
			SUDimensionLinearGetTextPosition(dime_linear, &pt);
			std::cout << "Text_POS:" << pt.x << " " << pt.y << " " << pt.z << std::endl;

			SUPoint2D pt2d = { 0,0 };
			SUDimensionLinearGetPosition(dime_linear, &pt2d);
			std::cout << "Pos:" << pt2d.x << " " << pt2d.y << std::endl;
			SUVector3D vec = { 0,0,0 };
			SUDimensionLinearGetXAxis(dime_linear, &vec);
			std::cout << "Xaxis:" << vec.x << " " << vec.y << " " << vec.z << std::endl;
			SUDimensionLinearGetNormal(dime_linear, &vec);
			std::cout << "Normal:" << vec.x << " " << vec.y << " " << vec.z << std::endl;
			std::cout << "-----------\n" << std::endl;
			SUInstancePathRelease(&path);
		}
	}
	SUTerminate();
	return 0;
}
===========
Start:0 0 0
End:1 1 0
Text_POS:0.712961 0.287039 0
Pos:0 -0.301173
Xaxis:1 0 0
Normal:0 0 1
-----------

===========
Start:1 1 0
End:0 0 0
Text_POS:1.4581 0.5 0
Pos:0 -0.458101
Xaxis:1 -0 0
Normal:-0 -0 1
-----------

===========
Start:0 0 0
End:1 1 0
Text_POS:0.5 1.21246 0
Pos:0 1.21246
Xaxis:1 0 0
Normal:0 0 1
-----------

SUDimensionLinearGetAlignment

1 Like