马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2017-8-21 16:19 编辑
在Lispboy的源码基础上:
增加了对话框
增加了精度设置
增加了加粗曲线设置
下载今天的API解决部分情况下不能正确连接的问题
原贴地址 http://bbs.xdcad.net/forum.php?m ... hlight=%B8%B4%CF%DF
 - (defun c:convert2pline (/ xd::pickset:numentities *error* precision ss
- ss1 width e
- i
- )
- ;;;--funtions to be defined---------------------------------------------------
- ;;;---------------------------------------------------------------------------
- ;;;------*error*--------------------------------------------------------------
- (defun *error* (msg)
- (if (dcl-form-isactive convert2pline/form1)
- (dcl-form-close convert2pline/form1)
- )
- (apply 'xdrx_document_setprec precision)
- )
- ;;;|返回选择集实际的实体数|;--------------------------------------------------
- (defun XD::Pickset:NumEntities (ss / i)
- (setq i 0)
- (xdrx_setsstodb ss 0)
- (while (xdrx_getentdata 0) (setq i (1+ i)))
- i
- )
- ;;;------main program---------------------------------------------------------
- ;;;---------------------------------------------------------------------------
- ;;;---load odcl form----------------------------------------------------------
- (command "_opendcl")
- (dcl-project-import
- '("YWt6Aw4RAAAQdpLcBuKT6DUVLT9quYFJ0XBL08texg4vzxwvLe1YSJc4Ojo6JdMoLi76utooM2Fq"
- "1z+6xFKWJGnECJttAv6e/cTXRUH+YT6ulDC6OZ3ntzNYiXHIuixVW4kMYcFHmbDiRw2wx60s4lW8"
- "w+QwHWpd5j5wncb+UPJf8c2s7P19niN9rtYhOstD+fpK2TpXWIlSXJa/cLrv6Mn6ynA0BTpaV9/a"
- "B5XsTVPqSMzS4i+HuHIjqkO4MyFPCvUALFpvx+lKXZjVYAnq1uIPrR0o4HevkUiJ8mdB9168pLYr"
- "rrkEVnlAxvlybaJVDWK5zgrSAF+adGIT+MQzQj8C98Y2guCGXI8znJW6X7m1QTYgXijaQf2ojDKj"
- "V9Vddurlyi2q2gfmnf3GIzP1xdRwqxSbuUuF4/45gLK0c0FfADSC5oZZp82vzUbAl//P4gSVF/2U"
- "zgOytmuo7RBIxu0pKWPr3lI2kpDoK1A2Ptdeh5Zgh45AD00PwBzOTzzjWWDQZpkCq3BjW4dHnHKL"
- "QTsC8kY5AvOGaI83nKf0ATRCGZNPdY7nkoX6eHHJrYkhkgLzAm51uN5x1KLayK2EOYFi4aHLRX1I"
- "QPOC7uvJFgB2EQJA3IBk90egqSaIFWCP+i3GcX0W7RU2vFRRGWWItoNyqg0VudLITTsIKpuvRLNJ"
- "tvDTGrkk1aHRx6EMP41ItN12j2hkgXOPH4yleLFC41Yq2auGSFdkYVd1SScHKokOrgz5mH0aL1EP"
- "YY8AnGDM5tW+GIweKytm/CVr5HJQKmsci9TODNX897MEK1aPnNT8wbWSyxTXctjp1LTOcYE/G66k"
- "H/3jImc8w8zPsuYb6sM85tzo1bp9qihLkFAPq57SIZTSIF71BxFn3haYAQm2xYkFC5u79zsZkKEY"
- "VBmYQufWWSLj99Gfs9rVJvjBGXNHz3UQMNJIRiEwupRHj5EMvLp7m7q1tQkw0/ri5rxMgkkUtvfq"
- "hYJz7HaJzQ=="
- )
- )
- (dcl-project-load "convert2pline")
- (dcl-form-show convert2pline/form1)
- (setq box (xdrx_drawing_pixelbox))
- (dcl_form_setpos
- convert2pline/form1
- (car (last box))
- (cadr (last box))
- )
- ;;;---load odcl form----------------------------------------------------------
- (xdrx_begin)
- (setq precision (xdrx_document_getprec))
- (while (progn (prompt "\r选取要变复线的LINE,ARC,*POLYLINE<退出>:")
- (setq ss (ssget '((0 . "LINE,ARC,*POLYLINE"))))
- )
- (xdrx_document_setprec
- (atof (dcl-control-gettext convert2pline/form1/textbox1))
- (cadr (xdrx_document_getprec))
- )
- (setq
- width (atof (dcl-control-gettext convert2pline/form1/textbox2))
- )
- (xdrx_setmark)
- (xdrx_curve->polyline ss)
- (if (setq ss1 (xdrx_getss))
- (xdrx_setsstodb ss1 0)
- (xdrx_setsstodb ss 0)
- )
- (setq i 0)
- (while (setq e (xdrx_getentdata 0))
- (xdrx_setpropertyvalue e "constantwidth" width)
- (setq i (1+ i))
- )
- (prompt (strcat "\n选择了 "
- (itoa (sslength ss))
- " 个实体,转换成了 "
- (itoa i)
- " 个多段线.\n"
- )
- )
- )
- (xdrx_end)
- (if (dcl-form-isactive convert2pline/form1)
- (dcl-form-close convert2pline/form1)
- )
- (apply 'xdrx_document_setprec precision)
- (princ)
- )
- ;;;---------------------------------------------------------------------------
|