how to explode minsert block in autocad



minsert block   هو بلوك استخدم لعملة امرMinsert لتنزيل مصفوفة من البلوكات بصورة خفيفة على الملف بحيث يكون حجمه صغير  و لا يمكن تفجيرة



ممكن تجرب امر FLATTEN



ممكن تروح للخصائص و تجعل "columns" and "rows" to 1    "column spacing" and "row spacing" to
0.   كدة اصبح عنصر واحد   



\يمكنك تعديلة الان REFEDIT



استخدم الاداة  www.cadstudio.cz/download.



او الاداة 



XMINSERT  Explode a MINSERT object.



 



هناك ليسب اتمنى ان يعمل معه







(defun C:Xminsert (/ Ent EntLst Bname Lay InsPt





Xfac Yfac Rot ColCnt RowCnt





ColSpc RowSpc BlkNum Index ColLst





RowLst InsLst *Error*)





 





(defun *Error* (msg)





(if (or (= msg "Function cancelled") (= msg "quit / exit abort"))





(princ) (princ (strcat "\nError: " msg))





)





)





 





(while (not (setq Ent (entsel "\nSelect a Minsert: "))))





 





(setq Ent (car Ent)





EntLst (entget Ent)





ColCnt (cdr (assoc 70 Entlst))





RowCnt (cdr (assoc 71 Entlst))





)





 





(if (or (> ColCnt 1) (> RowCnt 1))





(progn





(setq Bname (cdr (assoc 2 EntLst))





Lay (cdr (assoc 8 EntLst))





InsPt (cdr (assoc 10 EntLst))





Xfac (cdr (assoc 41 Entlst))





Yfac (cdr (assoc 42 Entlst))





Rot (cdr (assoc 50 EntLst))





ColSpc (cdr (assoc 44 EntLst))





RowSPc (cdr (assoc 45 Entlst))





BlkNum (* RowCnt ColCnt)





)





 





(setq Index 1)





 





(repeat (1- ColCnt)





(setq ColLst (cons (polar InsPt Rot (* Index ColSpc)) ColLst))





(setq Index (1+ Index))





)





 





(setq ColLst (cons InsPt ColLst))





 





(setq Index 1)





 





(foreach x ColLst





(progn





(repeat (1- RowCnt)





(progn





(setq Rowlst (cons (polar x (+ Rot (* pi 0.5)) (* Index





RowSpc)) Rowlst))





(setq Index (1+ Index))





)





)





(setq Index 1)





)





)





 





(foreach x RowLst (setq InsLst (cons x InsLst)))





 





(foreach x ColLst (setq InsLst (cons x InsLst)))





 





(setq Index 0)





 





(repeat BlkNum





(entmake (list '(0 . "INSERT")





'(100 . "AcDbEntity")





(cons 8 Lay)





'(100 . "AcDbBlockReference")





(cons 2 Bname)





(cons 10 (nth Index InsLst))





(cons 41 Xfac)





(cons 42 Yfac)





(cons 50 Rot)





)





)





(setq Index (1+ Index))





)





(entdel Ent)





)





;else





(princ "\nSelection was not a Minsert")





)





(princ)





)

















ملحوظة ممكن يكون الموضوع ابسط من كدة





يكون اللي عمل البلوك منعة انه يتفجر





كل ما عايك تروح للخصائص و تغيرها لامكانية التفجير 



تعليقات

المشاركات الشائعة