升级到版本1.0.4

下载:http://www.cadgj.com/GoodAssistantUpdate/HaoBangShou 1.0.4.exe
或者:http://yun.baidu.com/share/link?shareid=1850893678&uk=721859502&third=0

版本升级日志:

更新时间:20131011
**********************************************
软件新增了注册功能,注册后可无限制使用所有功能
前一百位用户无条件免费注册,详情见
http://www.cadgj.com/?p=364
**********************************************
更新内容:
         1:修补1.0.3发现的BUG
         2:增加功能,图纸防修改
         3:增加功能,插入二维码
         4:增加功能,插入条形码
         5:增加功能,文字刷,选择一个标准文字,可以将该文字的字体样式,文字内容,
           字体高度等属性刷新到后续选择的匹配文字上
         6:增加功能,坐标标注,标注点的X,Y值
         7:增加功能,属性转文字
         8:增加功能,实体对齐
         9:增加功能,对象均布
         10:增加功能,批量修改文字,多行文字
         11:增加功能,连续修改文字,多行文字
         12:增加功能,插入各种格式的日期时间
         13:增加功能,多段线标注,标注多段线中各个点的坐标,
            如果有圆弧也会标注圆弧
         14:增加功能,改块基点
         15:增加功能,改块名称
         16:增加功能,快速定义块
         17:增加功能,图层规整
         18:增加功能,图层排序

发表在 CAD好帮手发布 | 标签为 , | 留下评论

为什么CAD好帮手部分菜单为灰色不可用

CAD好帮手1.0.4及以上版本中将用户未注册的命令菜单显示为灰色

菜单不可用

关于软件注册

发表在 CAD好帮手教程 | 标签为 , , | 留下评论

图层排序

直接拖动调整图层显示顺序

1:点击菜单”图层”->”图层排序”

2:弹出图层排序对话框

图层排序

直接拖动图层就可以改变实体的排序。

点击”应用”,刷新排序效果,对话框不关闭

点击”确定”,刷新排序效果,对话框关闭

点击”取消”,关闭对话框

发表在 CAD好帮手教程 | 标签为 | 留下评论

图层规整

功能主要用于将文字、标注、填充中的一类或多类规整到标准的图层中

1:点击菜单按钮”图层”->”图层规整”

2:选择需要规整的对象

3:分别设置规整图层

   如果设置了”保持原图层不变”则原有相应的实体图层不改变。

3:图层规整

发表在 CAD好帮手教程 | 标签为 | 留下评论

快速定义块

1:点击菜单”块工具”->”快速定义块”

2:选择构建块的实体

3:输入块名称和基点位置,可以设置横向:左中右纵向上中下,默认为左下,即可以快速定义出一个块定义

快速定义块

发表在 CAD好帮手教程 | 标签为 | 留下评论

操作排序表

注意需要锁定文档支持
/*
* Copyright (c) 2013,CAD工具之家(www.cadgj.com)
* All rights reserved.
*
* 文件名称:GSortentsTableTools.h
* 摘 要:声明排序表的操作工具类
* 完成日期:2013年10月10日
*/
#pragma once
#ifndef ACAD_2004//不支持CAD2004
#include “sorttab.h”
class GSortentsTableTools
{
public:
GSortentsTableTools(void);
~GSortentsTableTools(void);
// 功能:将实体移动到最底层显示
// 参数:sortEntIds 实体id数组
Acad::ErrorStatus moveEntityToBottom(const AcDbObjectIdArray& sortEntIds);
// 功能:将实体移动到最上层显示
// 参数:sortEntIds 实体id数组
Acad::ErrorStatus moveEntityToTop(const AcDbObjectIdArray& sortEntIds);
// 功能:将实体移动到目标实体的下面
// 参数:sortEntIds 实体id数组
// targetId 目标实体
Acad::ErrorStatus moveEntityBelow(const AcDbObjectIdArray& sortEntIds,AcDbObjectId targetId);
// 功能:将实体移动到目标实体的上面
// 参数:sortEntIds 实体id数组
// targetId 目标实体
Acad::ErrorStatus moveEntityAbove(const AcDbObjectIdArray& sortEntIds,AcDbObjectId targetId);
// 功能:将单个实体移动到最底层显示
// 参数:sortEntId 实体id
Acad::ErrorStatus moveEntityToBottom(const AcDbObjectId sortEntId);
// 功能:将单个实体移动到最上层显示
// 参数:sortEntId 实体id
Acad::ErrorStatus moveEntityToTop(const AcDbObjectId sortEntId);
// 功能:将单个实体移动到目标实体的下面
// 参数:sortEntId 实体id
// targetId 目标实体id
Acad::ErrorStatus moveEntityBelow(const AcDbObjectId sortEntId,AcDbObjectId targetId);
// 功能:将单个实体移动到目标实体的上面
// 参数:sortEntId 实体id
// targetId 目标实体id
Acad::ErrorStatus moveEntityAbove(const AcDbObjectId sortEntId,AcDbObjectId targetId);
// 功能:获取或创建排序表,需先锁定文档
// 参数:pSortTab 排序表
Acad::ErrorStatus getOrCreateSortEntsDictionary(AcDbSortentsTable *&pSortTab);
};
#endif
/*
* Copyright (c) 2013,CAD工具之家(www.cadgj.com)
* All rights reserved.
*
* 文件名称:GSortentsTableTools.cpp
* 摘 要:声明排序表的操作工具类
* 完成日期:2013年10月10日
*/
#include “StdAfx.h”
#include “GSortentsTableTools.h”
#include “GLockDocument.h”
#ifndef ACAD_2004
GSortentsTableTools::GSortentsTableTools(void)
{
}

GSortentsTableTools::~GSortentsTableTools(void)
{
}
// 功能:获取或创建排序表,需先锁定文档
// 参数:pSortTab 排序表
Acad::ErrorStatus GSortentsTableTools::getOrCreateSortEntsDictionary(AcDbSortentsTable *&pSortTab)
{
Acad::ErrorStatus es=Acad::eOk;
AcDbDatabase* pDb = acdbHostApplicationServices()->workingDatabase();
if(pDb == NULL)
{
es=Acad::eNullPtr;
return es;
}
AcDbBlockTable *pBT = NULL;
AcDbBlockTableRecord *pBTR = NULL;
//获取块表指针
es=pDb->getBlockTable(pBT,AcDb::kForRead);
if(es!=Acad::eOk)
{
return es;
}
//获取模型空间表记录指针
es=pBT->getAt(ACDB_MODEL_SPACE, pBTR, AcDb::kForRead);
if(es!=Acad::eOk)
{
pBT->close();
return es;
}
pBT->close();
es=pBTR->getSortentsTable(pSortTab, AcDb::kForWrite, true);
if(es!=Acad::eOk)
{
pBTR->close();
return es;
}
pBTR->close();
return Acad::eOk;
}
// 功能:将实体移动到最底层显示
// 参数:sortEntIds 实体id数组
Acad::ErrorStatus GSortentsTableTools::moveEntityToBottom(const AcDbObjectIdArray& sortEntIds)
{
GLockDocument _Lock;//必须先锁定文档
AcDbSortentsTable *pSortTab=NULL;
Acad::ErrorStatus es=getOrCreateSortEntsDictionary(pSortTab);
if(es!=Acad::eOk)
return es;
es=pSortTab->moveToBottom(sortEntIds);
pSortTab->close();
return es;
}
// 功能:将实体移动到最上层显示
// 参数:sortEntIds 实体id数组
Acad::ErrorStatus GSortentsTableTools::moveEntityToTop(const AcDbObjectIdArray& sortEntIds)
{
GLockDocument _Lock;//必须先锁定文档
AcDbSortentsTable *pSortTab=NULL;
Acad::ErrorStatus es=getOrCreateSortEntsDictionary(pSortTab);
if(es!=Acad::eOk)
return es;
pSortTab->moveToTop(sortEntIds);
es=pSortTab->moveToTop(sortEntIds);
pSortTab->close();
return es;
}
// 功能:将实体移动到目标实体的下面
// 参数:sortEntIds 实体id数组
// targetId 目标实体
Acad::ErrorStatus GSortentsTableTools::moveEntityBelow(const AcDbObjectIdArray& sortEntIds,AcDbObjectId targetId)
{
GLockDocument _Lock;//必须先锁定文档
AcDbSortentsTable *pSortTab=NULL;
Acad::ErrorStatus es=getOrCreateSortEntsDictionary(pSortTab);
if(es!=Acad::eOk)
return es;
pSortTab->moveBelow(sortEntIds,targetId);
pSortTab->close();
return es;
}
// 功能:将实体移动到目标实体的上面
// 参数:sortEntIds 实体id数组
// targetId 目标实体
Acad::ErrorStatus GSortentsTableTools::moveEntityAbove(const AcDbObjectIdArray& sortEntIds,AcDbObjectId targetId)
{
GLockDocument _Lock;//必须先锁定文档
AcDbSortentsTable *pSortTab=NULL;
Acad::ErrorStatus es=getOrCreateSortEntsDictionary(pSortTab);
if(es!=Acad::eOk)
return es;
es=pSortTab->moveAbove(sortEntIds,targetId);
pSortTab->close();
return es;
}
// 功能:将单个实体移动到最底层显示
// 参数:sortEntId 实体id
Acad::ErrorStatus GSortentsTableTools::moveEntityToBottom(const AcDbObjectId sortEntId)
{
AcDbObjectIdArray sortEntIds;
sortEntIds.append(sortEntId);
return moveEntityToBottom(sortEntIds);
}
// 功能:将单个实体移动到最上层显示
// 参数:sortEntId 实体id
Acad::ErrorStatus GSortentsTableTools::moveEntityToTop(const AcDbObjectId sortEntId)
{
AcDbObjectIdArray sortEntIds;
sortEntIds.append(sortEntId);
return moveEntityToTop(sortEntIds);
}
// 功能:将单个实体移动到目标实体的下面
// 参数:sortEntId 实体id
// targetId 目标实体id
Acad::ErrorStatus GSortentsTableTools::moveEntityBelow(const AcDbObjectId sortEntId,AcDbObjectId targetId)
{
AcDbObjectIdArray sortEntIds;
sortEntIds.append(sortEntId);
return moveEntityBelow(sortEntIds,targetId);
}
// 功能:将单个实体移动到目标实体的上面
// 参数:sortEntId 实体id
// targetId 目标实体id
Acad::ErrorStatus GSortentsTableTools::moveEntityAbove(const AcDbObjectId sortEntId,AcDbObjectId targetId)
{
AcDbObjectIdArray sortEntIds;
sortEntIds.append(sortEntId);
return moveEntityAbove(sortEntIds,targetId);
}
#endif

发表在 ObjectArx | 标签为 , , , , | 留下评论

锁定文档

//GLockDocument.h

#pragma once
#include “acdocman.h”

 

class GLockDocument
{
public:
GLockDocument()
{
pDoc=NULL;
if(acDocManager != NULL)
{
try
{
pDoc = acDocManager->curDocument();
if ((pDoc != NULL) && (acDocManager->lockDocument(pDoc) != Acad::eOk))
{
pDoc=NULL;
}
}
catch(…)
{}
}
}

~GLockDocument()
{
if ((acDocManager != NULL) && (pDoc != NULL))
{
try
{
acDocManager->unlockDocument(pDoc);
}
catch(…)
{}
}
}

private:
AcApDocument* pDoc;
};

发表在 ObjectArx | 标签为 , , | 留下评论

CAD怎么将图形从一张图纸复制到另一张图纸中?有时复制粘贴不了是怎么回事?

CAD和我们用的WORD、EXCEL类似,选择图形后,按CTRL+C就可以将图形复制到剪贴版,然后用CTRL+V就可以粘贴到其他图纸中。我想为什么会有这么多人问这个问题呢?我想可能有两方面原因:

原因一:在AutoCAD中切换文档比较麻烦,有些人不知道如何同时打开两个文件并切换文档,有这种问题的应该是初学者。

AutoCAD切换文档确实有点麻烦,2009以下版本或2009以上版本使用经典界面的,直接在“窗口”菜单下就可以切换打开的图纸。如果用2009以上版本,而且用的是Ribbon界面,窗口切换还真有点不好找。在“视图”选项卡的右侧,可以看到一个“切换窗口”的,点下面向下的箭头就可以切换文件。

除了切换文件外,在“窗口”菜单中或“视图”选项卡,你也可以选择将不同文件窗口进行平铺或叠放,点击不同窗口就可以切换到不同的文件,这种方式在复制粘贴图形时也挺方便。实际上每个文件窗口右上角都有最大化、层叠、最小化按钮,也可以用于切换文件。

具体采用哪种方式就看你的习惯了。

如果使用浩辰CAD等国产软件就简单多了,这些软件都提供了一个文件标签栏,打开文件都会在标签栏上显示文件名,点文件名就可以切换文档,这一点倒是比AutoCAD方便多了。

复制图纸的基本操作如下:

1、打开两张图纸。

2、在一张图纸中选中要复制的图形后,按CTRL+C(菜单:编辑》复制)。

如果有特殊要求,可以在编辑菜单中选择“带基点复制”(CTRL+SHIFT+C),这种方式可以设置一个定位点,方便粘贴图形时定位。CTRL+C复制时,默认会以选择图形的左下角点为粘贴时的定位点。

3、用刚才介绍的方法切换到另一张图纸。

4、按CTRl+V,按提示定位插入点,图纸就会复制到当前图中。

如果有特殊要求,希望将图形转帖到与原始图纸相同的坐标,可以在“编辑”菜单里选择“粘贴到原坐标”命令。还可以将复制的图形粘贴为块(Ctrl+Shift+V)。

(如果使用Ribbon界面,在“常用”选项卡的最右侧,有粘贴按钮,下拉箭头中有各个选项)。

 

原因二:操作都会,但有些图形就是粘贴不了。

复制粘贴不成功我遇到的情况有两种:

一种是图形特殊或有错误。

有些专业软件生成的自定义对象由于没有相应的插件,会显示为代理实体,当复制这些图形时,CAD会提示“无法复制到剪贴版”,这种情况需要CAD安装原始的专业软件或插件才能复制粘贴,或者让有插件的人将这些图形分解成常规的CAD数据。

还有一些图形中有错误数据,这些数据有可能是CAD自己产生的,也有可能是在从别的CAD或其他软件转换数据时产生的,这种情况可以尝试用CAD修复(recover,菜单:文件》绘图实用程序》修复)打开图纸,尝试修复错误后再试试。

二是临时文件保存路径设置错误。

在复制(CTRL+C)图形,CAD通常会生成一个临时文件,这个文件就保存在CAD设置的临时文件路径(输入OP,在选项对话框中可以找到这个路径)下,如果这个路径为空,或者设置的路径不可写,也会影响复制粘贴。AutoCAD高版本设置了防范错误,删除此路径时会自动设置为操作系统的临时路径,但其他CAD可能没有类似防范错误,如果出现简单图形都无法复制粘贴时,不妨检查一下这个路径。

 

利用复制粘贴,不仅可以在CAD中将图形从一张图纸复制到另一张图纸,还可以粘贴到WORD\EXCEL里作为OLE对象,在WORD、EXCEL中双击图形就可以返回到CAD中进行修改,很多制造业单位都在WORD或EXCEL中保存图纸。

当然反过来,从WORD和EXCEL也可以将文字和表格复制粘贴到CAD中,默认也是OLE对象,双击可以返回到WORD/EXCEL中编辑,当然也可以“选择性粘贴”,将WORD文字和EXCEL表格粘贴为CAD图形。

此技巧适用于AutoCAD及浩辰CAD等常用的CAD软件

发表在 CAD技巧 | 标签为 | 留下评论

CAD中怎样将一张图纸插到另一张CAD图纸中?

通过查看访问记录,发现很多人都通过搜索这个问题访问了我的博客。我的博客中有几篇相关文章,例如“如何在图纸中插入其他图纸中的图块”、“如何将图纸复制粘贴到另一张图纸中”、“将一张图纸复制到另一张图纸后为什么图形会变”等等,但好像这些文章都不能直接回答这个问题,觉得还有必要回复一下这个问题,但这个问题后面似乎隐含着其他问题,先按我的理解简单解释一下吧,如果大家看后有什么建议请留言。

 

要将一个CAD图插入到另一个图中,我估计有几种不同需求,一种是整图插入,一种是部分插入,一种是插入特定图块,无论哪种需求,都有方法实现,这里简单介绍一下各种方法。

一、整图插入

方法有三种:

1、最简单的方法就是复制粘贴。将两张图都打开,将其中一张图全选(ctrl+a),然后复制(Ctrl+c),切换到另一张图后,粘贴。

详细描述见:CAD怎么将图形从一张图纸复制到另一张图纸?

可能出现的问题见:CAD将图形从一张图纸复制到另一张为什么有些图形会变?

2、将一张图纸以外部参照形式插入。在菜单中选择:插入>DWG参照,浏览找到需要插入的图纸,图纸将被引用到当前图中。

外部参照和图块的区别请参看:什么是CAD外部参照?外部参照和图块有什么区别?

3、 将一张图纸以图块形式插入。调用插入图块命令(i),在插入图块对话框中点浏览按钮,浏览到要插入的图纸,可以将此图纸作为图块插入到当前图中。

 

很多专业软件的图库就是以文件的形式存在,然后以图块的形式插入的。图中最好不要有与插入文件同名的图块。

注意:如果要插入的是非常大的图纸,最好不用这种方式。因为即使将插入的图块炸开,图中仍会保留图块定义,而且这个图块是包含一整张图纸的大图块,如果不清理(PU)一下,图形数据无形增加了很多,对操作速度会有影响。

 

二、部分插入

方法基本和前面整图类似,只是需要将插入的对象单独提取出来。

1、对于复制粘贴来说很简单,就是只选择需要插入到另一张图的对象,然后复制粘贴。

2、同样也可以用图块插入的方式,在选择需要插入到另一张图的对象后,输入W(WBLOCK写块)命令,将这部分对象保存为一个文件,然后在另一张图中将这部分图形以图块形式插入进来。

写块、插入块这种方式在保存重复使用且希望以图的形式插入的标准图形时经常使用。相对复制粘贴的优势是可以设置插入几点,更容易定位,而且可以作为自己的图库多次反复使用。

 

三、插入其他图纸中的图块

1、直接打开两张图纸,将图块直接从一张图复制到另一张图。

但需要注意两张图中是否存在同名图块的现象,当出现图块同名冲突时,如果两种图块形式不同,建议用重命名(rename)  将其中一个图块重命名。

2、利用设计中心插入其他图纸中图块,详细操作见:

  CAD中怎么将一张图纸中的块怎么插入到另一张图纸中?(不用复制粘贴) CAD中怎样将一张图纸插到另一张CAD图纸中?

 

总结一下,将一张图纸插入到另一张图纸的最简单方法就是复制粘贴,也是非常常用的方式。外部参照的优势是引用图纸会随原图变化而变化,而且当前图纸保存的数据非常小,可以用于多专业配合,简单的协同设计。块文件的优势就是可以反复重复利用。

 

此技巧适用于AutoCAD、浩辰CAD等常用CAD软件。

发表在 CAD技巧 | 标签为 | 留下评论

CAD将图形从一张图纸复制到另一张图纸后图形发生了变化怎么办?

将一张图中的东西复制到另一张图中发生变化的现象经常会发生,遇到这种情况不要觉得奇怪,只要仔细检查两张图纸的设置就会找到原因。

 

图形发生变化主要由下面几种可能:
1、同名图块

两张图中有同名图块,但图块的定义不同,只能保留一个图块定义,此时CAD软件会出现提示。解决办法,用rename命令将其中一张图中的图块重新命名。
2、同名标注样式:

两张图中有同名的标注样式,但标注样式的定义不同。
3、同名文字样式

两张图中有同名的文字样式,但字体定义不同,文字粘贴过去会发生变化。
4、其他参数设置不同

例如同名图层的颜色、线型、线宽的设置不同;图中的全局线型比例设置不同;或者一些参数的设置,例如一张图中fill变量被打开,另一张图中此变量是关闭的,填充复制过去就会不显示,等等这类。
    因此你需要检查发生变化的是什么图形,是块、标注、文字或其他?然后根据这些来检查相应的设置是否有上述现象等。

此技巧适用于AUTOCAD和浩辰CAD等常用CAD软件。

发表在 CAD技巧 | 标签为 | 留下评论

JPG/TGA/TIF等图像文件转换为DWG、DXF等CAD文件的工具,光栅矢量化工具:AR2V Toolkit

发现网上很多人都在找将图像文件转换为DWG的工具,我用过一个小工具,转换效果还可以,用于转换一些线条图的话,问题不大,但真要转平面图纸的话可用性能有多高也很难说,圆、弧、文字等转换效果估计也很难保证。

这里给大家简单介绍一下,也许您能用得上。

我用的这个工具叫Algolab Raster to Vector Conversion Toolkit,你要在网上搜索的“Algolab R2V Toolkit”或“AR2V Toolkit”应该能搜到,能找到中文版本。

转换图形的基本步骤如下:

1、为了保证转换效果,首先要在PS或图像处理软件中将你的图片处理成对比分明的黑白线条图,如下图所示。

AK2V

 

如果你拿到软件就想看看效果,软件也提供一些样图,你先可以用样图先试一试。
    2、启动AR2V工具,打开处理好的图片。

3、在菜单中选择“识别>设置”。

AR2V

 

4、在设置中选择一种比较适合于你的图形的设置,例如建筑、机械,也可以选一个自定义设置,根据自己的需要编辑设置,如下图所示。

AR2VAR2V

5、选择好设置后,在“识别”菜单点“矢量化”,将光栅图像转换为矢量数据。图中会出现转换后蓝色的线,如下图所示。

 

AR2V

你可以检查一下是否满足要求,如果效果差很多,可以重新设置参数,重新矢量化。

6、转换完了,直接在菜单中选择“文件》矢量另存为”,可以选择DXF、AI、WMF、EMF等格式,如果想在CAD里用,存成DXF就可以了。

7、在CAD中打开DXF文件,检查一下效果,根据需要对局部图形进行修整,就完成,如下图所示。

AR2V 

光栅图像转换为矢量数据,转转类似的图形,只求其形,对精度没有什么要求,一点问题没有;如果真要转图纸,不能要求太高,标注肯定都是散的,文字也不能识别,想利用转换图纸进行后续编辑还是比较麻烦的,当然遇到紧急情况,不妨试一试。

 

在90年代“甩图板”的时候因为有大量纸质图纸需要电子化,光栅矢量化软件还是很流行的,当时配合大的工程扫描仪,卖得很贵,数字化仪也是为了满足类似需求的一种类似描图板式的设备,虽然现在很多CAD都带数字化仪接口,但好多人都已经不知道数字化仪是什么东西了。

现在网上流传了一些光栅矢量化的小工具,当然这些工具并不是免费的,但不知道现在还有多少人花钱来买这个软件。大家关注这个软件,我想只是因为无法拿到图纸的矢量文件,只能想办法转转手头的光栅图像文件来应一下急,希望能比照着重新画一遍省点事。

我这儿在网上找的一个汉化版本,在百度网盘给大家分享一下:

http://pan.baidu.com/share/link?shareid=2467&uk=3356970665

 

除了这个工具外,还有一个工具:WinTopo Pro,我在网上没找到注册号,没试过,大家如果能找到能用的版本,也可以试试。

发表在 CAD技巧 | 标签为 , | 留下评论

如何将PDF转换成CAD的DWG文件或DXF文件?PDF转CAD

将PDF格式的图纸进行二次编辑,那么需要将PDF转换成DWG/DXF格式的。下面我给大家介绍几款此类软件。

注意:但是在转换前先确认你的PDF文件里面的图形不是位图形式的。不然转换出来还是图片形式的,下面所有软件都要转换前先确认一下的。

转换方法主要有两种:

一种是利用一些平面矢量图形编辑软件,例如ilustrator、CorelDRAW等这类软件打开PDF文件,然后在导出DWG格式。

另外一种是利用一些专用的文件转换工具,这种工具在网上可以找到很多,例如PDF2DXF\PDF2CAD\PDF Grabber\PDF fly\AutoDWG PDF to DWG Converter\Able2Extract,这些软件操作更为简单,通常选择要转换的文件,将输出格式设置为DXF或DWG,点转换就可以了。

但这些软件的转换质量都不太一样,有些软件转换后文字会被打碎,这样后续编辑处理就不太方便了,例如PDF Grabber\PDF fly\AutoDWG PDF to DWG Converter;线条的转换质量也不尽一样,因此一些好的转换工具,售价不菲,而且卖得还很不错,浩辰CAD的海外版本集成了一款OEM的PDF2DXF的工具,价格近100美元,仍有不少用户购买。

在次强调一下:PDF必须是矢量格式的,例如CAD打印输出的PDF,才能直接用上述转换工具和方法进行转换。如果pdf文件是位图文件(简单说就是一张图片插入到了pdf文件里),那么使用编辑软件打开后需要将其转换成矢量图,才能保存成dwg文件,而使用那些转换工具是无法转换的。如果非要转换纯图片格式的PDF,需要先进行矢量化。在CoreldRAW里,转换矢量图的功能叫“描摹”。当然还有一些其他光栅矢量化软件,可以直接将图片转换成DXF或DWG,但转换的质量取决于原图质量,另外就是取决于软件的转换计算的能力,但转换效果一般都不是很好。

发表在 CAD技巧 | 标签为 | 留下评论

何谓CAD二次开发? AutoCAD都有哪些二次开发工具?

AutoCAD的二次开发主要涉及以下内容:

(1)编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。

(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000以上版本还可增加部分菜单文件,然后经交互方式加入到系统中去。

(3)在系统的ACAD.LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。

(4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

   AutoCAD成为全球二维CAD的标准,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。

AutoCAD第一版于1982年11月由Autodesk公司推出,他之所以能进入中国,并快速普及,主要是一大批国内二次开发商的功劳,包括浩辰、圆方、大恒、天正等。因为二次开发软件根据行业特点和专业设计需要讲一系列CAD命令集成起来,比直接用CAD画图更简单,因此在90年代中期,计算机还不太普及,很多人连开机都不会的情况下,简单易用、傻瓜式的国产二次开发软件对AutoCAD在国内的普及起到非常重要的作用。但随后的十年时间里,这些二次开发商只有少数还坚持只做二次开发,例如天正,而有些厂商被AutoCAD推出的同类应用软件打垮,转而成为Autodesk的代理商,例如大恒等,还有一些开始开发自主的CAD平台,并提供了类似的二次开发接口,例如浩辰CAD、中望CAD等。

 

下面简单介绍一下AutoCAD所提供的一些二次开发工具:

1 AutoLISP

AutoLISP的全名是LIST Processing Language,她出现于1985年推出的AutoCAD R2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。
3 ADS
ADS的全名是AutoCAD Development System,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,但跟C语言一样,现在已经被更高级的语言所代替,现在基本已经很少有软件使用了。

4 ObjectARX

ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX并没有包含在AutoCAD中,可在Autodesk公司网站中去下载,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(Auto CAD数据库)和AcEd(Auto CAD编译器),另外还有其它的一些重要库组件,如AcRX(Auto CAD实时扩展)、AcGi(Auto CAD图形接口)、AcGe(Auto CAD几何库)、ADSRX(Auto CAD开发系统实时扩展)。ObjectARX 还可以按需要加载应用程序;使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程序实现交互操作。 ARX是目前大多数复杂CAD二次开发软件使用的开发工具。

5 VisualLISP

VisualLISP已经被完整地集成到AutoCAD 2000以上版本中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是默认的代码编辑工具;用它开发AutoLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于Auto CAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。

6 VBA

VBA 即Mcrosoft office中的Visual Basic for Applications,它被集成到AutoCAD 2000以上版本中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD中丰富的技术框架打开一条新的通道。VBA和AutoCAD中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。

 

7 .net

AUTOCAD高版本提供的开发工具。

 

虽然现在国产CAD,例如浩辰CAD和中望CAD提供上述所有二次开发接口,而且原来在AutoCAD上二次开发的软件全部都可以移植到这些国产CAD上,但由于其影响力目前还有限,主动移植的厂商很少,则也限制了这些国产CAD在很多行业的推广。

国产CAD现在从功能到二次开发接口,都仍在学习AutoCAD,并努力保证跟AutoCAD兼容,这是目前市场状况下不得以而为之,但如果一直维持现状,是永远也无法实现对AutoCAD超越的。

发表在 CAD技巧 | 标签为 | 留下评论

怎么在启动CAD时自动加载Lisp的工具和插件?

网上有很多非常有用的CAD插件,能给绘图带来很多便利。这些工具手动加载后就可以执行,但每次用的时候都要加载挺麻烦的,能不能在启动软件的时候把自己常用的插件加载进来?当然可以,而且方法还不止一种。

方法1:添加到启动组

CAD的工具插件都可以通过appload(ap)命令来加载,在弹出的“加载\卸载应用程序”对话框中,可以找到“启动组”。不同CAD不一样,AutoCAD是在“启动组”下面有一个“内容”按钮,点击此按钮就可以需要启动时自动加载的程序加进去;浩辰CAD有一个“添加到启动组”按钮,可以将“历史记录列表”中加载过的程序添加到启动组中。添加到启动组后,下次启动CAD的时候这些程序就会自动加载。

这种方式比较简单易行,任何操作起来都没有难度。

方法2:在启动的lisp文件加入LOAD语句。

无论是AutoCAD还是浩辰CAD等国产CAD,启动时都会有一个自动加载的LISP程序,AutoCAD加载的是acad.lsp或acadxxxx.lisp(xxxx为版本号),acaddoc.lsp等(通常在AutoCAD的support目录下),很多CAD病毒正是利用了这一点来加载从而影响CAD的应用;浩辰CAD等自动加载的LSP名为icadautoload.lsp,在安装的根目录下。

需要做的就是用记事本打开这些LSP,在里面加上类似下面的语句:

(LOAD  “x:\\xxxxx\\sp2pl.lsp”)

如果觉得写路径太麻烦,你就可以将程序复制刚才哪些自动加载LISP所在的路径。

 

关于CAD病毒

因此如果遇到AutoCAD莫名奇妙出现不正常状态,你可以搜索所有acad*.lsp,看看在图纸所在目录是否有此类文件,是否有多个相同大小的此类LSP,如果有,删除掉后可以看看CAD是否恢复正常。如果有兴趣可以用记事本打开看看,到底这些CAD病毒做了什么手脚。当然现在CAD病毒也有变种成acad*.vlx或acad*.fas的,这些文件就没法打开看了,如果有此类文件,建议直接删除。

发表在 CAD技巧 | 标签为 | 留下评论

CAD病毒的通用杀毒方法,例如移动变复制等

最近发现,很多人的CAD出现异常,都是因为中了CAD病毒,看到此篇文章写得很详细,特此转载,并加上了自己的一些理解,希望能对大家有帮助。

 

一、移动变复制的解决办法

cad移动变复制这是中cad病毒了。

首先要申明就是:
    1、它对电脑是没有任意的危害性!
    2、它在8:00到18:00这段时间,对CAD没有任何影响的,病毒不破坏DWG图纸文件,电脑中的图纸DWG文件照常可以使用。
   它唯一的副作用就是:
   你的CAD在启动时会弹出一个显示时间的对话框。如果时间时不在8:00至18:00之间,还有可能伴随”移动”命令改变~等情况, 这一点可就烦死我了.^_^

在这时间内的临时解决方案为:
    将电脑系统时间调整8:00就行了(不能解决根本问题,而且搞得时间不准。。。。。)

这种病毒的特征是:自动生成acad.lsp ,acaddoc.lsp ,acadap.lsp,acad.fas,acad.mnl,acad.sys,lcm.fas,cad.fas,acad.ini等文件;在某时间出现“党不会亏待你……”“成功完成复制!……”;无法使用炸开、直线命令,鼠标中键不为缩放等等。

其特点均为lisp编写,由于打开图纸文件时,CAD会自动将病毒文件加载并运行,所以造成一定程度的危害。

还有一个基于dwwin.exe或dwgrun.exe的病毒,特征是出现winfas.in,dwgrun.bat文件等,其实也是依靠.lsp文件来感染的,但传播方式是依靠.exe文件,根据这个病毒特征来看,是病毒作者为实现目的硬生生拼凑的,中这个病毒只能说您安装的杀毒软件实在太差或者设置不合理。此病毒直接通过下述方法无法彻底清除,请先安装杀毒和防御软件,如卡巴,微点等(瑞星就免了吧),再利用下述方法解决。

杀毒方法:

1.利用命令来清除病毒:

使用打开CAD程序,在命令行输入:(复制到命令行即可)

(while(or(setq a (findfile”acad.fas”))(setq a (findfile”lcm.fas”)))(vl-file-delete a))
   也就是要搜索并删除acad.fas和lcm.fas。

2、直接搜索acad.fas和lcm.fas,找到的话删除掉,然后再启动CAD。

 

二、通用杀毒方法(不只是针对移动变复制问题,还可以应用到cad其他异常状况的解决

第一种方法:将硬盘、u盘、移动硬盘、网络共享文件夹中的.fas .lsp .mnl .arx等类型文件全部删除即可。

具体方法如下:

1、关闭CAD。

2、卸载CAD,然后删除CAD所在文件夹。

3、打开“我的电脑”—>点“搜索”(或者按CTRL+F)
    —>”要搜索的文件或文件夹名”里输入*.fas,*.lsp,*.mnl,*.arx   
    —>点“立即搜索”。

4.将搜索到的所有文件全部删除。同理方法,搜索自己的U盘,移动硬盘,网络文件夹等。

5.注意压缩包内是否有此类文件。同上方法搜索 *.RAR *.ZIP 看你打包的图纸文件内是否包有上述类型文件,有就删除。

6.重新安装AutoCAD和其平台上辅助软件即可。

方法评价:这种比较麻烦但和彻底,而且对一些电脑只是不太好的人来说操作性不强,我觉得第一种好用。

第二种方法:

1、关闭CAD。

2、搜索acad*.lsp,acad*.fas,acad*.vlx,如果有很多此类文件,尤其是在图纸目录下有此类文件,将相同大小的文件删除,要彻底一些的话可以将这些文件全部删除。

3、启动CAD,看是否恢复正常,如果仍不正常,则需要用第一种方法。

方法评价:如果你安装了在AutoCAD上的专业软件,这种方法可能会导致专业软件无法正常启动,需要重新安装。

 

三、关于此类问题的预防:
    1、如果看到图纸文件夹内除了DWG文件外,还有.fas .lsp .mnl .arx类型文件,如果不明其用途,一定要删除,拷贝别人图纸的时候,注意别把它们拷贝过来。通俗的讲,只要不拷贝这类文件,99%不会中毒。

2、装好CAD系统后,在没有被病毒感染前,将CAD目录内所有文件的属性设置为只读,可以减少中毒的机率。
C:\Documents and Settings\×××\Application Data\Autodesk\AutoCAD 200×\R×.×\
其中×××是你登录系统时的用户名, 200×和R×.×分别是CAD的版本和版本代号。(注意:目录C:\Documents and Settings\是系统隐藏文件夹)

3、加强电脑防护,使用优秀的杀毒及防御软件,如卡巴斯基,东方微点等。

有些人疑惑为什么我的电脑有杀毒软件还中毒?

其实目前流行的“CAD病毒”之所以不被杀毒软件查杀,是因为CAD脚本语言编写,靠打开图纸自动加载来运行,其类似于wiondos平台的“批处理病毒”(之所以加引号是因为它不是完全意义上的病毒),不被查杀当然可以理解,如果利用其他渠道进行传播的破坏CAD的病毒,如利用系统可执行文件(.EXE)传播的病毒,完全可以归类为杀毒软件查杀的范围了,冠之以“CAD”字样就太牵强了,讨论它们意义也就不大。

 

由于这些病毒都是针对AutoCAD编写的,利用了AutoCAD自动加载的程序名,因此只对AutoCAD起作用,对浩辰CAD等国产CAD不起作用。

 

由于我的机器没有中过CAD病毒,因此没有尝试过。我见过其他中过病毒的机器,不过那时的病毒还很简单,就是acad*.lsp文件,搜出来删掉就好了,现在变种越来越多,这种方法可能只能解决一部分问题。

也不知道这些做病毒的人是什么想法,为了好玩、恶作剧、还是仇视社会啊!

 

如果上面的方法还不能解决你现在的问题,请留言描述你的现象,共同探讨一下解决方法!

发表在 CAD技巧 | 标签为 | 留下评论

指定的arx是否已经加载

//功能: 指定的arx是否已经加载
//参数: strArxFileName,arx文件名,绝对路径
//返回: arx是否已经加载
BOOL CArxAddinChecker::IsArxLoaded(const CString strArxFileName)
{
 TCHAR lpName[MAX_PATH];
 lstrcpy(lpName,PathFindFileName(strArxFileName));
 BOOL bLoad=FALSE;
 struct resbuf * LoadArxs=acedArxLoaded();//已经加载的arx文件
 if(LoadArxs!=NULL)
 {
  struct resbuf * LoadArxNext=LoadArxs->rbnext;//遍历LoadArxs
  while(LoadArxNext!=NULL)
  {
   if(lstrcmpi(LoadArxNext->resval.rstring,lpName)==0)
   {
    bLoad=TRUE;
    break;
   }
   LoadArxNext=LoadArxNext->rbnext;
  }
 }
 return bLoad;
}

发表在 ObjectArx | 标签为 , | 留下评论

从AcDbObjectPointer派生的可以打开锁定图层实体的模板类

#pragma once
#include “dbobjptr.h”
template<class T_OBJECT>
class AcDbEntityPointerEx:public AcDbObjectPointer<T_OBJECT>
{
public:
AcDbEntityPointerEx(AcDbObjectId objId,
AcDb::OpenMode mode,
bool openErased = false,
bool openOnLockLayer=false);
public:
~AcDbEntityPointerEx(void);
protected:
bool m_bLock;//图层是否锁定
bool m_bFrozen;//图层是否冻结
AcDbObjectId m_layerId;//图层ID
};
template<class T_OBJECT>
AcDbEntityPointerEx<T_OBJECT>::AcDbEntityPointerEx(AcDbObjectId objId,
AcDb::OpenMode mode,
bool openErased = false,
bool openOnLockLayer=false):AcDbObjectPointer(objId,mode,openErased)
{
if(m_status==Acad::eOnLockedLayer&&mode==AcDb::kForWrite)
{
m_status=acdbOpenObject(m_ptr, objId, AcDb::kForRead, openErased);
if(m_status!=Acad::eOk)
{
return;
}
m_layerId=m_ptr->layerId();
AcDbLayerTableRecordPointer spLayer(m_layerId,AcDb::kForWrite);
if(spLayer.openStatus()!=Acad::eOk)
{
//如果解锁图层失败
//获取到了实体也无法操作
m_ptr->close();
m_ptr=NULL;
m_status=spLayer.openStatus();
return;
}
m_bLock=spLayer->isLocked();
m_bFrozen=spLayer->isFrozen();
spLayer->setIsLocked(false);
spLayer->setIsFrozen(false);
m_status=m_ptr->upgradeOpen();
if(m_status!=Acad::eOk)
{
//如果解锁图层失败
//获取到了实体也无法操作
m_ptr->close();
m_ptr=NULL;
return;
}
}
else
{
m_bLock=false;
m_bFrozen=false;
m_layerId.setNull();
}
}
template<class T_OBJECT>
AcDbEntityPointerEx<T_OBJECT>::~AcDbEntityPointerEx()
{
if(!m_layerId.isValid())
return;
AcDbLayerTableRecordPointer spLayer(m_layerId,AcDb::kForWrite);
if(spLayer.openStatus()!=Acad::eOk)
{
return;
}
spLayer->setIsLocked(m_bLock);
spLayer->setIsFrozen(m_bFrozen);

}

发表在 ObjectArx | 标签为 , , | 留下评论

提高Google Adsense收入的三个小技巧

1. 一个页面只放一个广告代码。
一般用户浏览网页的时候,最多一个页面最多只会点击一个广告,所以一个页面放一个广告代码,可以提高广告的点击率和页面 eCPM,网页的 eCPM 高了,据说 Google Adsense 就会匹配更高价的广告给你。另外一个页面放一大堆广告,象垃圾站式,既不美观,而且赚的也少了。
(注:国外与国内的广告思维方式完全是两个概念。外国人对于广告这个东西,是注重看广告的人的感受如何?所以才会让人感觉adsense的政策要求怪怪的。而国内的对于广告这个东西,简单的8个字概括:无孔不入!见缝插针!我们完全是不会注重看的人的感受如何?当你学会如何去用另外一种思维方式去做GGAD。你也就是赚钱的时候到来了。)
2. 广告放到用户最容易看到的位置。
广告的位置放在用户最容易看到的位置,而不是用户鼠标最容易点击的位置。不要把 Google Adsense 放到用户来到你的网站第一眼都看不到的地方,没人点击自然没有收入。但是千万注意不要放在用户鼠标最容易点击到的位置,会被 Google 认为作弊的。
(注:这样把代码放到鼠标最容易点击到的地方,会被GOOGLE认为是**点击!造成无效点击就等待着被K号吧。不要用你渺小的身躯,去挑战google神一般的意志!)
3. 只给特定的用户显示广告。
长期浏览你博客的用户其实不会点击你的广告的,所以对于这部分用户显示广告是没有用的,所以最好的就是直接给来自搜索引擎的用户显示广告,一般来自搜索引擎的用户特别容易点击广告。这样的目的也是和第一条一样,提高页面 eCPM,让Google Adsense 匹配高价的广告。我目前由于缓存的原因,还不知道如何用 JS 实现。
(注:这个比较BT。属于上层技巧!不太了解。但是说的非常对,你的网站常客肯定不会随随便便点击你的广告,只有通过搜索引擎来到的你网站的用户,因为对你的网站结构不是很熟悉自然而然是有点击的**和可能性!)

发表在 网站建设 | 一条评论

Google AdSense申请完全手册

一、注册Google AdSense

到https://www.google.com/adsense:https://www.google.com/adsense注册。如果以前注册过Google AdWords(Google广告词——对关键字进行右侧付费推广)那么就能使用您的Google AdWords密码登录,开通Google AdSense了。

Google提示不支持中文,注册时填写拼音

需要填写

您输入的帐户信息如下:(XX代表隐藏站长的信息)

——————————————————————————–

收款人:Wang Xiaobo或Xiaobo Wang(这个信息一定不能错,一旦提交永远不得更改。姓、名顺序可以按中文习惯,也可以按英语习惯颠倒过来)
地址:Room 102, Building 3
地址(延续):Hua Xi Cun 2#
城市:Nanjing
州、省或地区:Jiangsu
邮政编码:210000
国家/地区:中国
电话: 86-25-85412654(注意:国家代码和区号前不要加0)
产品:AdSense for content(针对内容的AdSense)和AdSense for search(针对搜索的AdSense)
网站:www.yoursite.com:http://www.yoursite.com
网站语言:中文(简体)

——————————————————————————–

请在继续前确认所有信息都是正确的。
在此之后不能更改付款人姓名或国家/地区名称。

二、等待Google来信

等了两天,Google来信如下:

——————————————————————————–

标题:欢迎光临_Google_AdSense
祝贺您!

您的 Google AdSense 申请已得到批准。现在,您可以启用帐户,几分钟后就会开始向您的网站投放 Google 广告和提供 AdSense for search (针对搜索的
AdSense)。

第 1 步:启用帐户。
请访问https://www.google.com/adsense?hl=zh_CN:https://www.google.com/adsense?hl=zh_CN,然后使用申请中所提交的电子邮件地址和密码登录到自己的帐户,并选择同意 AdSense 条款。

第 2 步:将 AdSense 代码粘贴到您的网页。
只需按照“广告布局代码”页和“搜索代码”页中的说明进行*作,即可将 Google 代码复制并粘贴到您的网站中。几分钟后就会开始向您的网站投放 Google 广告和提
供 AdSense for search。

第 3 步:查看结果。
广告开始投放后,您就可以通过自己帐户中的在线报告随时查看收入情况。请注意,如果您的网站中包含以下任一内容,都有可能无法从 AdSense 中获得最大收
入:
* robots.txt
* 框架
* 表单与动态内容
* 过多的图像
* 要求登录和输入密码

有关针对此计划优化网站的更多技术指南与建议,请访问:
https://www.google.com/adsense/faq-tech?hl=zh_CN:https://www.google.com/adsense/faq-tech?hl=zh_CN

重要注意事项:
* 如果 Google 尚未抓取您的网站,则可能需要数小时才能看到有针对性的广告。
您在此期间可能会看到公益广告(这些广告无法为您带来任何收入)。

* 如果您的网页还未列入 Google 搜索的索引中,Google 将不能返回SiteSearch 结果。请注意将 SiteSearch 添加至任何网页,都不会使此网页进入我们漫游器的等待抓取队列。如果您希望采用手动方式将贵网站的主要网址添加到我们的抓取索引,则可以通过http://www.google.com/intl/zh-CN/addurl.html:http://www.google.com/intl/zh-CN/addurl.html
进行这一*作。采用这一方式提交贵网站不能确保网站一定会被加入到 Google 索引中。

* 网站发布商或由发布商征召的第三方不得采用人为方式或通过漫游器产生欺诈性
点击(恶意点击)。点击自己网站上的广告有违此政策,所以请不要因任何原因点
击这些广告。我们会监控所有的 AdSense 活动,并且会停用违反此政策的任何发
布商的帐户。详细信息,请参阅 Google AdSense 条款,地址是:
https://www.google.com/adsense/localized-terms?hl=zh_CN:https://www.google.com/adsense/localized-terms?hl=zh_CN

有什么问题?
请随时与我们联系,我们的电子邮件地址是adsense-zhs@google.com:http://mailto:adsense-zhs@google.com。

欢迎光临 Google AdSense。我们热切期盼能够帮助您全面发挥贵网站的创收潜力。

Google 小组敬上

为了让大家登录方便,首页放了个Google AdSense登录的地址,可以直接点击。

由于Google的中文意思表达不明确,并且Google对于很多细节都避而不谈,所以dan迷茫了两天。通过几天的试验和询问朋友,终于明白很多东西。

Google AdSense分为AdSense广告和AdSense搜索。AdSense广告就是放google的广告条;AdSense搜索就是提供个性化颜色的Google搜索,上面有时会出现广告条。也就是说,只有点击广告条才能赚钱,否则显示得再多也是徒劳!

进入“广告设置”栏目。可以设置“广告颜色”等细节,最后生成一段代码,比如

发表在 网站建设 | 留下评论

CAD图纸交流的专用工具——电子传递

有设计就要有交流,而且现在不同部门、不同地区协同设计也越来越多,因此保证文档交流的顺畅越来越重要。最最普通的方式就是图纸的相互传递,而图纸在传递的过程中会存在不少问题,例如双方使用的字体文件不同,导致文字无法正常显示;传递图纸时忘记附上图中插入的图像或外部参照文件,导致对方打开图面内容缺失。而CAD的电子传递功能可以很好解决这个问题。

AutoCAD和浩辰CAD等常用CAD都有电子传递功能,其功能基本类似,下面是从浩辰CAD宣传文档中摘取的一段,同样适用于AutoCAD.

无论使用Ribbon界面还是经典界面,单击CAD1左上角的大图标,在下拉菜单中能找到“传送>电子传递”功能选项。如下图所示。

电子传递 

如果安装的是较低的CAD版本,还没有Ribbon界面的版本,可以直接在下拉菜单中选择:文件>电子传递。

 

在电子传递前需要先保存图纸,因此会提示需要保存当前图纸,保存以后就会弹出“电子传递”的对话框。

 

电子传递 

可以看到电子传递功能默认内容不仅包含图纸文件,还包括字体映像文件,图纸中插入的光栅图像和外部参照图纸。右侧下拉框中的STANDARD是电子传递的设置,我们可以修改这个设置或添加新的设置。在左下的输入框内可以填入简单的说明文字,这些说明文字将被写入到一个文本文档内,和图纸相关文件一起打包。

单击“传递设置”按钮,弹出“传递设置”对话框。单击“修改”,可进入“修改传递设置”对话框。

 

电子传递 

在这个对话框中可以设置传递包的类型(文件集、自解压文件或zip包),图纸文件格式(dwg2000、2004、2007或2010等格式),以及传递文件建立的路径等。如果在图中使用了特殊的字体,建议勾选上“包含文字”,防止对方打开文件时因为没有字体显示问号或因为替换字体导致文字格式发生变化。如果需要保密,压缩包还可以输入密码。如果我们有多种不同设置的话,可以对传递设置加上说明。

一切设置好后,返回电子传递对话框,一方面可以通过文件树和文件表来查看要打包的文件,还可以看看单击“查看报告”按钮将打包的说明文件的内容,如下图所示。

 

电子传递 

此文件中不仅详细说明了压缩包内各文件的用途,而且在最下面的分发说明中对各类文件进行详细的解释,如下图所示:

电子传递

从上面的说明可以看出,用电子传递不仅可以保证与当前图纸相关的文件都可以进行打包,而且不必再专门对每个文件书写说明,软件自动就可以生成了。

如果你经常需要跟其他设计人员传递和交流文件,不妨用一用电子传递功能。

发表在 CAD技巧 | 标签为 , | 留下评论