我从来没有说过edit\u bloc将scale设置为1x1x1。它只适用于块定义(并更新引用),因此,将全局单位设置为1将不起任何作用。
运行edit_bloc将所有块设置为无单位后,块仍具有插入比例。例如,右上一个(桌子和10把椅子),其比例为0.0276,现在已为0.7(0.0276 x 25.4),因为它已使用此比例插入(或插入后重新缩放为0.7)。
然后,如果运行RescaleBlocks(新版本),将使用1x1x1缩放重新定义块。
附上示例。运行edit_bloc(所有插入、无单位、图层0、颜色、林型和线宽按块)和重新缩放块后的dwg
PS:在我看来,你还有很多工作要做才能使这些积木可用:大多数积木的插入点都在75到150个单位之间,而且它们的比例似乎不一样(一些椅子太大,另一些太小)。。。
实例图纸
WWoow。。。它确实有效:0
首先,我用同一个文件进行了测试,并进行了工作,然后我转移到原始文件,但它有1786个块。。。所以我只是用不同的比例抓取了204个。。。它又起作用了。。。所以我想它会继续工作。。。
最后我得到了我需要的。。。只需要使用您的edit_bloc和rescaleblocks,我会根据需要旋转所有块。。。。这将为这项任务节省大量的小时,甚至数周的时间。。。
当我完成所有收集后,我会告诉你。。,非常感谢你的帮助。。。。我仍然需要花很多时间查看每个块并将其放置在自己的绘图中,但如果没有这个工具,我可能需要再花2周的时间来完成,现在它将减少到几个。。或者几个小时。。。。
关于街区。。。好的,我将改变所有插入点在一个角落或中心取决于每个块,同时块比例将设置为相等。。。我正在使用文件重命名器(高级re)对所有文件进行wblocking以重命名它们
Edit_bloc does this too...
oops... I forgot to checkk that option yesterday... but.... you know I wanted to check that out today and I can´t use it, I got an error... I will check if it is due to all the other configuration I got... but this is the error sequence...
I used it in autocad 2009 yesterday... now I tried it on 2008, could it be the reason?
It's a problem with your AutoCAD: "Base.dcl Can't find file"
Base.dcl is an AutoCAD provided file where DCL controls are defined. It have to be in your search path.
You're right... I was changing my support path to run autocad faster on one batch task, and deleted the "\AutoCAD 2008\UserDataCache\Support" by mistake.. now It works...
and also checked the layer and color bylayer and worked on all blocks without a single problem....
Now it is the most amazing lisp I've found... It will work a lot for this task...
thank you very much. Hey, Gile... I was wondering... WE are using standard blocks in our office and your lisp will help me a lot for changing all blocks' units to unitless... but I was wondering...
there is a variable called "annotativedwg" that works for the current drawing and helps us to make blocks annotative but in the "one by one" mode.. (wblock all dwgs... open each one.... set annotativedwg=1... save and close... and redefine blocks by purging and reinserting in a compilation drawing)
So, how difficult would it be to add the variable annotativedwg=0 to your lisp (to convert blocks to non-annotative)?
------------
Nevermind... I am almost done updating our library with these tasks... nothing but a few days to get it done... Yep... I had to wblock all to transform them back to non-annotative and redefine all blocks at once by another method, but then I had trouble with the units... some inches or milimeters, and I started to fix them one by one.. then decided to give this lisp a chance... and worked!! by using the redefine to non-units I fixed 90% of the blocks... I think I saved like 8 hours of work...
Thank you very much again gilles... I owe you Hey, Gile... I've just found this new information and I want to share it with you....
You know. I found your edit_bloc really amazing for some tasks... specially transforming blocks to unitless.. but.. For some reason it worked in about 70 or 80% of my blocks... converting them to unitless... but it didn´t fix the rest and I had to transform them one by one by copying each one of them in a new "good" drawing file with correct units... and saving it as the original name (overwriting it)...
and well... I think that it is because there are more than one variables affecting units as you can read below... Is it possible to add them to your lisp at least for the none-units option... it may help me a lot to finish my block compilation task in the most perfect way.
http://www.cadplan.co.za/tips_tricks.html
Why does AutoCAD insert my blocks in wrong scale?
Blocks and Xrefs contain their insertion unit settings, which are used for automatic scale conversion when they are inserted/attached to a drawing using other units. These units are defined in the INSUNITS (default units), INSUNITSDEFSOURCE (source units) and INSUNITSDEFTARGET (target units) variables.
In older AutoCAD versions, these variables were used only for the block inserts/drags from DesignCenter. AutoCAD 2006 (and higher) uses them for all methods of insertion of blocks, xrefs and images.
If your blocks are inserted in an improper scale (e.g. 0.254, 10 or 1000), you have probably wrong (different) settings of your block insertion units. Set INSUNITS e.g. to 0 (unitless) - then both the INSUNITSDEFxxxx variables will apply - set them also to 0 (other settings apply when dealing with AEC drawings). Outstanding !I was building a tool set using a blank DWG and seeding it with blocks from various files.Many of them were dynamic blocks and contained lots of useful features.Unfortunately many were defined to 'inches' or 'feet' instead of 'unitless'.i discovered that you can redefine in the block dialog from feet to inches or inches to feet, but not to unitless:?.Since I would then have to tear these blocks apart and recreate them as unitless (and redo all the dynamic features ) I was really happy to find this routine.
using a copy of the original file (always belt AND suspenders is the best rule) I ran this wonderful bit of magic and Whoo Hoo, all blocks are now unitless and the dynamic stuff is all still there.
Nice work, Thank you very much.
Joe A Perkins
Prime Engineering Inc.
页:
1
[2]