亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? acrxentrypoint.cpp

?? 這是我用ARX做的一段畫多段線的程序,并能實現圖形消隱.
?? CPP
字號:
// (C) Copyright 2002-2005 by Autodesk, Inc. 
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted, 
// provided that the above copyright notice appears in all copies and 
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting 
// documentation.
//
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. 
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK, INC. 
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
// UNINTERRUPTED OR ERROR FREE.
//
// Use, duplication, or disclosure by the U.S. Government is subject to 
// restrictions set forth in FAR 52.227-19 (Commercial Computer
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
// (Rights in Technical Data and Computer Software), as applicable.
//

//-----------------------------------------------------------------------------
//----- acrxEntryPoint.h
//-----------------------------------------------------------------------------
#include "StdAfx.h"
#include "resource.h"
#include "WidthSetup.h"

//-----------------------------------------------------------------------------
#define szRDS _RXST("MSL")

double thick_width(0), thin_width(0);


//-----------------------------------------------------------------------------
//----- ObjectARX EntryPoint
class CToPline6App : public AcRxArxApp {
private:

public:
	CToPline6App () : AcRxArxApp () {}

	virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {
		// TODO: Load dependencies here

		// You *must* call On_kInitAppMsg here
		AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;
		
		// TODO: Add your initialization code here

		return (retCode) ;
	}

	virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) {
		// TODO: Add your code here

		// You *must* call On_kUnloadAppMsg here
		AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ;

		// TODO: Unload dependencies here

		return (retCode) ;
	}

	virtual void RegisterServerComponents () {
	}


	// ----- MSLToPline6.widthsetup command
	static void MSLToPline6widthsetup(void)
	{
		// Add your code for command MSLToPline6.topline here
		CWidthSetup setupdialog;
		setupdialog.DoModal();
		thick_width = setupdialog.thick_width;
		thin_width = setupdialog.thin_width;

		acutPrintf("%f,%f\n",thick_width,thin_width);

		//檢查每個實體的線型,對于實線,用粗線; 點畫線,虛線等用細線
		
		AcDbBlockTable *pBlockTable;
		acdbHostApplicationServices() -> workingDatabase() -> getSymbolTable(pBlockTable,AcDb::kForRead);
		AcDbBlockTableRecord *pBlockTableRecord;
		pBlockTable -> getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForRead);
		pBlockTable -> close();

		AcDbBlockTableRecordIterator *pBlockIterator;
		pBlockTableRecord -> newIterator(pBlockIterator);

		char *LayerName;
		AcDbLayerTable * pLayerTbl;//定義層表指針
		AcDbLayerTableRecord * pLayerTblRcd; //定義層表記錄指針 
		AcDbLinetypeTable *pLinetypeTbl;  //定義線型表指針
		AcDbObjectId ContinuousId;

        //以讀方式打開層表,獲得層表指針
        acdbHostApplicationServices()->workingDatabase()->getLayerTable(pLayerTbl,AcDb::kForRead); 
		//以讀方式打開線型表,獲得線型指針
        acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pLinetypeTbl,AcDb::kForRead); 
		pLinetypeTbl -> getAt("CONTINUOUS",ContinuousId); //獲得實線的Id
		pLinetypeTbl -> close();

		for(; !pBlockIterator -> done(); pBlockIterator -> step()) {
			//AcDbPolyline *pEntity;
			AcDbEntity *pEntity;
			AcDbPolyline *pPolyline = NULL;
			AcDbObject *pObj;
			pBlockIterator -> getEntity(pEntity, AcDb::kForRead);
			const char *linetype = pEntity -> linetype();
			if(strcmp(linetype,"ByLayer")==0) { //若某實體的線型為ByLayer
				//1.獲得該實體所在層的層名
				LayerName = pEntity -> layer();	
				//2.利用層名獲得層表記錄指針pLayerTblRcd
				if (pLayerTbl->getAt(LayerName,pLayerTblRcd,AcDb::kForRead)==Acad::eOk)
				{ 
					AcDbObjectId linetypeId = pLayerTblRcd -> linetypeObjectId();
					if(linetypeId == ContinuousId) { //若該層為實線,即continuous,該實體為粗線
						ads_name ent;

						if(Acad::eOk  != acdbGetAdsName(ent,pEntity->objectId())) return;
						pEntity ->close();
						acedCommand(RTSTR,"PEDIT",RTENAME,ent,RTSTR,"W",RTREAL,thick_width,RTSTR,"",0);
					}
					else {
						ads_name ent;

						if(Acad::eOk  != acdbGetAdsName(ent,pEntity->objectId())) return;
						pEntity ->close();
						acedCommand(RTSTR,"PEDIT",RTENAME,ent,RTSTR,"W",RTREAL,thin_width,RTSTR,"",0);
					}

				}

			}
			else if(strcmp(linetype,"ByBlock")==0) { //若某實體的線型為ByBlock
			}
			else if(strcmp(linetype,"Continuous")==0) {
						ads_name ent;

						if(Acad::eOk  != acdbGetAdsName(ent,pEntity->objectId())) return;
						pEntity ->close();
						acedCommand(RTSTR,"PEDIT",RTENAME,ent,RTSTR,"W",RTREAL,thick_width,RTSTR,"",0);
			}
			else {
						ads_name ent;

						if(Acad::eOk  != acdbGetAdsName(ent,pEntity->objectId())) return;
						pEntity ->close();
						acedCommand(RTSTR,"PEDIT",RTENAME,ent,RTSTR,"W",RTREAL,thin_width,RTSTR,"",0);
			}

			AcDb::LineWeight lineweight = pEntity -> lineWeight();
			acutPrintf("linetype %s.\n", linetype);
			acutPrintf("Line Weight %d\n",lineweight);
			pEntity -> close();
			pLayerTbl ->close();
		}
		delete pBlockIterator;
		pBlockTableRecord -> close();
		acutPrintf("\n");



	}

	// - MSLToPline6.topline command (do not rename)
	static void MSLToPline6topline(void)
	{
		// Add your code for command MSLToPline6.topline here
			//首先獲取當前圖形中的所有實體
		struct resbuf rb1,rb2;
		ads_point LeftDownPts,RightUpPts;
		ads_name ssname;
		int	rt;

		acedCommand(RTSTR,"ZOOM",RTSTR,"ALL",0);
		acedGetVar("EXTMAX",&rb1); //獲取當前圖形右上角點坐標
		acedGetVar("EXTMIN",&rb2); //獲取當前圖形左下角點坐標
		ads_point_set(rb1.resval.rpoint,RightUpPts);
		ads_point_set(rb2.resval.rpoint,LeftDownPts);

		double deltax = (RightUpPts[X] - LeftDownPts[X]) / 10;
		double deltay = (RightUpPts[Y] - LeftDownPts[Y]) / 10;

		RightUpPts[X] += deltax;
		RightUpPts[Y] += deltay;
		LeftDownPts[X] -= deltax;
		LeftDownPts[Y] -= deltay;


		rt=acedSSGet("C",RightUpPts,LeftDownPts,NULL,ssname);
		if(rt!=RTNORM) {
			acdbFail("實體選擇集構造失敗");
			return;
		}

		//為了利用boundary命令獲取外邊界輪廓,構造一包圍盒
		ads_point pts;
		pts[X] = LeftDownPts[X] + 1;
		pts[Y] = LeftDownPts[Y] + 1;
		acedCommand(RTSTR,"_RECTANG",RT3DPOINT,LeftDownPts,RT3DPOINT,RightUpPts,0);
		//獲取圖形中的最后一個實體
		ads_name LastName;
		if(acdbEntLast(LastName) != RTNORM) {
			acdbFail("No entities in drawing\n");
			return ;
		}
		acedCommand(RTSTR,"-BOUNDARY",RTSTR,"A",RTSTR,"I",RTSTR,"Y",RTSTR,"O",RTSTR,"P",RTSTR,"",RT3DPOINT,pts,RTSTR,"",0);
		acedCommand(RTSTR,"ERASE",RTENAME,LastName,RTSTR,"",0); //刪除包圍盒


		if(acdbEntLast(LastName) != RTNORM) {
			acdbFail("No entities in drawing\n");
			return ;
		}
		acedCommand(RTSTR,"ERASE",RTENAME,LastName,RTSTR,"",0); //刪除沿包圍盒生成的多段線

		//將其他剩余實體生成不合并的多段線
		acedCommand(RTSTR,"PEDIT",RTSTR,"M",RTSTR,"C",RT3DPOINT,RightUpPts,RT3DPOINT,LeftDownPts,RTSTR,"",RTSTR,"Y",RTSTR,"",0);
		//將指定內孔生成合并的多段線
		/*acutPrintf("用鼠標點選內孔:");
		acedCommand(RTSTR,"-BOUNDARY",RTSTR,"A",RTSTR,"O",RTSTR,"P",RTSTR,"",0);*/

	}
} ;


//-----------------------------------------------------------------------------
IMPLEMENT_ARX_ENTRYPOINT(CToPline6App)

ACED_ARXCOMMAND_ENTRY_AUTO(CToPline6App, MSLToPline6, widthsetup, widthsetup, ACRX_CMD_TRANSPARENT, NULL)
ACED_ARXCOMMAND_ENTRY_AUTO(CToPline6App, MSLToPline6, topline, topline, ACRX_CMD_TRANSPARENT, NULL)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91啦中文在线观看| 国产一区二区三区久久久| 91视频观看视频| 亚洲免费观看在线视频| 99国产精品久| 亚洲国产毛片aaaaa无费看 | 成人永久免费视频| 国产精品久久久久久久久免费樱桃 | 日韩高清一级片| 欧美一级黄色大片| 韩国女主播成人在线| 国产午夜精品久久久久久久| 91原创在线视频| 日韩中文字幕一区二区三区| 亚洲精品一区二区三区蜜桃下载| 国产乱码一区二区三区| 亚洲色图另类专区| 精品精品国产高清a毛片牛牛| 国产乱子伦一区二区三区国色天香| 中文字幕在线一区免费| 91视视频在线观看入口直接观看www| 亚洲欧美日韩成人高清在线一区| 欧美视频在线一区二区三区 | 国产成人精品网址| 亚洲天堂中文字幕| 欧美一级片在线| 成人黄色av网站在线| 国产风韵犹存在线视精品| 91女神在线视频| 欧美一级在线观看| 亚洲福利一二三区| 成人丝袜高跟foot| 欧美一激情一区二区三区| 中文字幕的久久| 麻豆一区二区在线| 911精品国产一区二区在线| 一区二区三区自拍| 免费成人美女在线观看| 中文字幕日韩一区二区| 欧美亚一区二区| 国产精品资源站在线| 性感美女久久精品| 日本一区免费视频| 欧美一区在线视频| 色婷婷一区二区| 国产成a人亚洲精品| 日韩中文字幕亚洲一区二区va在线 | 99久久国产综合精品麻豆| 午夜av电影一区| 亚洲视频一区在线| 欧美国产欧美综合| 精品理论电影在线| 欧美性videosxxxxx| 92国产精品观看| 国产一区二区在线观看免费| 日韩国产一区二| 亚洲综合成人在线| 国产精品国产三级国产aⅴ无密码| 日韩一级片网站| 欧美高清性hdvideosex| 色狠狠一区二区三区香蕉| 国产白丝精品91爽爽久久| 美女一区二区三区| 亚洲va国产天堂va久久en| 亚洲欧洲性图库| 国产精品久久久久精k8| 欧美激情在线看| 国产亚洲制服色| 国产亚洲综合在线| 久久久高清一区二区三区| 日韩欧美一区二区免费| 欧美福利视频导航| 欧美三级乱人伦电影| 91在线观看高清| 一本到三区不卡视频| 成人app下载| 99精品欧美一区| 色综合婷婷久久| 在线免费观看成人短视频| 一本色道久久综合亚洲aⅴ蜜桃| 色婷婷狠狠综合| 欧美性感一类影片在线播放| 欧美在线制服丝袜| 欧美日韩一区二区三区四区| 欧美性极品少妇| 91精品国产福利在线观看| 日韩视频在线一区二区| 日韩欧美二区三区| 国产亚洲精品资源在线26u| 久久久久久久电影| 久久久久免费观看| 日本一区二区三区国色天香| 国产精品久久久一本精品| 日韩一区中文字幕| 亚洲一区二区成人在线观看| 五月激情综合网| 国产麻豆成人精品| 成人av在线观| 在线亚洲精品福利网址导航| 制服.丝袜.亚洲.另类.中文| 26uuu亚洲| 国产精品久久久久一区| 亚洲自拍与偷拍| 韩国女主播成人在线观看| 成人禁用看黄a在线| 日本道在线观看一区二区| 欧美一区二区三区免费视频| 久久精品一区蜜桃臀影院| 亚洲美女偷拍久久| 日韩精品五月天| 亚洲精品在线观| 中文字幕人成不卡一区| 亚洲成精国产精品女| 国产美女精品一区二区三区| 成人一级视频在线观看| 欧美自拍偷拍一区| 精品国产乱码久久久久久牛牛| 国产精品萝li| 午夜久久久影院| 成人午夜又粗又硬又大| 538在线一区二区精品国产| 国产午夜精品久久久久久久 | 久久综合狠狠综合久久综合88| 国产精品免费丝袜| 日韩高清欧美激情| 99re成人在线| 欧美va亚洲va| 亚洲国产精品欧美一二99| 国产成人免费视频网站| 欧美乱妇15p| 中文字幕一区二区三区在线观看| 日韩vs国产vs欧美| 97久久精品人人做人人爽50路| 欧美xfplay| 亚洲成人av在线电影| 成人免费黄色在线| 日韩免费一区二区三区在线播放| 一区二区三区蜜桃网| 国产精品18久久久久久久久久久久| 欧美日韩亚洲综合一区二区三区| 国产亚洲短视频| 久久电影网站中文字幕| 一本到三区不卡视频| 久久精品夜色噜噜亚洲aⅴ| 亚洲第一会所有码转帖| 色综合天天综合网国产成人综合天| 精品日韩在线一区| 日韩电影免费在线看| 色综合天天综合| 亚洲人成亚洲人成在线观看图片| 国产成人福利片| 国产人成亚洲第一网站在线播放| 天堂蜜桃91精品| 欧美日韩国产精品成人| 一区二区久久久久久| 99久久99久久免费精品蜜臀| 日本一区二区视频在线观看| 国产乱国产乱300精品| 日韩免费性生活视频播放| 日韩有码一区二区三区| 欧美日韩在线观看一区二区 | 免费在线观看日韩欧美| 欧美少妇一区二区| 亚洲黄一区二区三区| 色88888久久久久久影院野外| 综合分类小说区另类春色亚洲小说欧美| 大白屁股一区二区视频| 国产亚洲一本大道中文在线| 国产精品12区| 国产精品拍天天在线| 国产1区2区3区精品美女| 国产亚洲一本大道中文在线| 高清beeg欧美| 中文字幕一区二区三区在线观看| 91小视频在线免费看| 亚洲九九爱视频| 在线观看精品一区| 三级精品在线观看| 日韩亚洲电影在线| 国产一区二区三区四区五区入口| 国产欧美精品区一区二区三区| 国产精品一级片在线观看| 国产婷婷色一区二区三区四区 | 欧美视频自拍偷拍| 午夜精品久久久久久久| 91精品国产日韩91久久久久久| 精品一区二区三区免费播放| 久久精品视频在线免费观看| 播五月开心婷婷综合| 一区二区三区精品在线观看| 在线播放日韩导航| 玖玖九九国产精品| 国产女主播一区| 欧美日韩精品久久久| 久久爱www久久做| 欧美国产综合一区二区| 欧美亚洲高清一区二区三区不卡| 免费观看30秒视频久久| 欧美激情一区二区三区不卡| 欧美日韩综合一区|