当前位置:网站首页>CAD ARX gets the current viewport settings
CAD ARX gets the current viewport settings
2022-07-06 07:57:00 【zxt_ net】
AcDbViewTableRecord GetCurrentView()
{
AcDbViewTableRecord view;
struct resbuf rb;
struct resbuf wcs, ucs, dcs; // Coordinate system mark used when converting coordinates
wcs.restype = RTSHORT;
wcs.resval.rint = 0;
ucs.restype = RTSHORT;
ucs.resval.rint = 1;
dcs.restype = RTSHORT;
dcs.resval.rint = 2;
// Get the current viewport's “ see ” Pattern
acedGetVar(“VIEWMODE”, &rb);
view.setPerspectiveEnabled(rb.resval.rint & 1);
view.setFrontClipEnabled(rb.resval.rint & 2);
view.setBackClipEnabled(rb.resval.rint & 4);
view.setFrontClipAtEye(!(rb.resval.rint & 16));
// The center point of the view in the current viewport (UCS coordinate )
acedGetVar(“VIEWCTR”, &rb);
acedTrans(rb.resval.rpoint, &ucs, &dcs, 0, rb.resval.rpoint);
view.setCenterPoint(AcGePoint2d(rb.resval.rpoint[X],
rb.resval.rpoint[Y]));
// The focal length of the lens in the perspective view of the current viewport ( In millimetres )
acedGetVar(“LENSLENGTH”, &rb);
view.setLensLength(rb.resval.rreal);
// The position of the target point in the current viewport ( With UCS Coordinate representation )
acedGetVar(“TARGET”, &rb);
acedTrans(rb.resval.rpoint, &ucs, &wcs, 0, rb.resval.rpoint);
view.setTarget(AcGePoint3d(rb.resval.rpoint[X],
rb.resval.rpoint[Y], rb.resval.rpoint[Z]));
// The viewing direction of the current viewport (UCS)
acedGetVar(“VIEWDIR”, &rb);
acedTrans(rb.resval.rpoint, &ucs, &wcs, 1, rb.resval.rpoint);
view.setViewDirection(AcGeVector3d(rb.resval.rpoint[X],
rb.resval.rpoint[Y], rb.resval.rpoint[Z]));
// View height of the current viewport ( Graphic units )
acedGetVar(“VIEWSIZE”, &rb);
view.setHeight(rb.resval.rreal);
double height = rb.resval.rreal;
// The size of the current viewport in pixels (X and Y value )
acedGetVar(“SCREENSIZE”, &rb);
view.setWidth(rb.resval.rpoint[X] / rb.resval.rpoint[Y] * height);
// The view twist angle of the current viewport
acedGetVar(“VIEWTWIST”, &rb);
view.setViewTwist(rb.resval.rreal);
// Make the model tab or the last Layout tab current
acedGetVar(“TILEMODE”, &rb);
int tileMode = rb.resval.rint;
// Set the identification code of the current viewport
acedGetVar(“CVPORT”, &rb);
int cvport = rb.resval.rint;
// Is it a view of model space
bool paperspace = ((tileMode == 0) && (cvport == 1)) ? true : false;
view.setIsPaperspaceView(paperspace);
if (!paperspace)
{
// The offset of the front clipping plane from the target plane in the current viewport
acedGetVar(“FRONTZ”, &rb);
view.setFrontClipDistance(rb.resval.rreal);
// Get the offset value from the back clipping plane of the current viewport to the target plane
acedGetVar(“BACKZ”, &rb);
view.setBackClipDistance(rb.resval.rreal);
}
else
{
view.setFrontClipDistance(0.0);
view.setBackClipDistance(0.0);
}
return view;
}
边栏推荐
- Artcube information of "designer universe": Guangzhou implements the community designer system to achieve "great improvement" of urban quality | national economic and Information Center
- Wonderful use of TS type gymnastics string
- 实现精细化生产, MES、APS、ERP必不可少
- [computer skills]
- P3047 [usaco12feb]nearby cows g (tree DP)
- The Vice Minister of the Ministry of industry and information technology of "APEC industry +" of the national economic and information technology center led a team to Sichuan to investigate the operat
- Yu Xia looks at win system kernel -- message mechanism
- PHP Coding Standard
- Three no resumes in the software testing industry. What does the enterprise use to recruit you? Shichendahai's resume
- Simulation of Teman green interferometer based on MATLAB
猜你喜欢
Document 2 Feb 12 16:54
Learn Arduino with examples
Generator Foundation
Force buckle day31
Compliance and efficiency, accelerate the digital transformation of pharmaceutical enterprises, and create a new document resource center for pharmaceutical enterprises
Machine learning - decision tree
Interview Reply of Zhuhai Jinshan
合规、高效,加快药企数字化转型,全新打造药企文档资源中心
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Solution: système de surveillance vidéo intelligent de patrouille sur le chantier
随机推荐
861. Score after flipping the matrix
Luogu p1836 number page solution
Simulation of holographic interferogram and phase reconstruction of Fourier transform based on MATLAB
Learn Arduino with examples
"Friendship and righteousness" of the center for national economy and information technology: China's friendship wine - the "unparalleled loyalty and righteousness" of the solidarity group released th
[untitled]
Apache middleware vulnerability recurrence
C intercept string
2.10transfrom attribute
Google可能在春节后回归中国市场。
Entity class design for calculating age based on birthday
[factorial inverse], [linear inverse], [combinatorial counting] Niu Mei's mathematical problems
成为优秀的TS体操高手 之 TS 类型体操前置知识储备
让学指针变得更简单(三)
[Yugong series] February 2022 U3D full stack class 011 unity section 1 mind map
[KMP] template
WebRTC系列-H.264预估码率计算
Go learning notes (3) basic types and statements (2)
Circuit breaker: use of hystrix
继电反馈PID控制器参数自整定