cad打印样式ctb丢失,CAD打印样式表如何设置?CTB和STB有何区别?

CAD打印样式表有什么作用?

打印样式可以控制打印时的各种特性,例如线宽、颜色和填充样式等,一个打印样式表中有多组打印样式。打印样式管理器是一个窗口,其中显示了所有可用的打印样式表。通过设置图形使用打印样式表中某个打印样式来控制图形的打印效果。

打印样式有两种类型:CTB和STB,一个图形文件只能使用其中一种打印样式表,但可以在两种打印样式表之间转换。

CTB和STB有何区别?

打印样式可分为颜色相关打印样式表(*.CTB)和命名打印样式表(*.STB)两种模式。颜色相关打印样式以颜色为基础,共有255种颜色(索引色)相关的打印样式。在颜色相关打印样式模式下,通过调整与对象颜色对应的打印样式可以控制所有具有同种颜色的对象的打印输出效果。

a38090e926af1248f5f8b4308f938b82.png

命名打印样式表可以自行添加和命令打印样式,我们可以直接在图形中设置图层甚至图形使用的打印样式。

fad441f02cc13171a98f94d8e225cd4e.png

颜色相关打印样式表以“.ctb”为文件扩展名保存,而命名打印样式表以“.stb”为文件扩展名保存,均保存在CAD支持文件夹的“plotstyles”子文件夹中。

颜色相关打印样式表(*.CTB)的使用和编辑

颜色相关样式表通过颜色来控制打印输出的颜色、线宽,操作起来比较简单,大家用得比较多,CAD也提供了一些常用的打印样式表,有彩色的、灰度的(grayscale.ctb)、单色的(monochrome.ctb),直接选用即可。

如果想使用CAD自带的CTB文件,同时不同图形打印粗细要有所区别,必须给图层或对象设置好合适的线宽值,因为CTB文件中输出线宽的默认设置是“使用对象线宽”。如果在绘图的时候没有设置线宽,但打印时又希望线宽有差别,就需要对CTB文件进行编辑,在打印对话框选择CTB文件后,点后面的编辑按钮就可以手动调整不同颜色输出的线宽值,如下图所示:

323729c209c8785dbc081d3c30ee754f.png

在打印样式表中设置的两个主要参数就是输出颜色和线宽,其他参数用得非常少,一般无需调整。左侧的颜色也可以按住SHIFT或CTRL键一次选择多种颜色,然后一次对多种颜色进行设置。

注意:颜色相关打印样式表中的颜色只包括255种索引色,所以要利用打印样式表,在设置颜色时只能选择这255种颜色中的一种,不能使用真彩色或配色系统,真彩色在打印输出时不进行处理的,也就是会按原色输出,如果是黑白打印机则会打印为不同程度的灰色。

不同行业使用习惯不完全相同,例如机械行业,图层用的比较少,通常图层设置好线宽,图形线宽都随层,这样打印时直接选择monochrome.ctb输出就可以了。工程建设行业通常图层比较多,而且大部分会使用专业软件,图层通常颜色都设置好了,但很少设置线宽,还有些管线是利用多段线宽度进行设置的,因此在打印的时候,通常有必要对CTB文件的输出线宽做相应调整。一般设计院对输出线宽、字高等都有明确规定,单位设置好一个CTB文件,大家复制到CAD打印样式表目录下直接调用就好了。

命名相关打印样式表(*.STB)的使用和编辑

命名相关打印样式表的设置选项跟CTB相同,只是左侧对应的不是颜色,而是我们定义的样式名,如下图所示。默认的STB通常只有一个“普通”样式,其他样式是需要自己添加的,右侧输出特性设置与CTB文件相似。

9a3a22529105f044a4ba48f147d597aa.png

在AutoCAD中有一些直接可以使用STB的模板文件,如:acadISO-Named PlotStyles.dwt,新建文件时如果选用这些模板就可以直接使用STB文件。可以使用CTB文件和STB文件的pstylemode变量分别为1和0,不过这个变量是只读的,也就是不能直接设置这个变量。

如果图纸的pstylemode变量为0,这在打印时只能选择CTB的打印样式表,要想转为使用STB,在AUTOCAD低版本中还是挺麻烦的,操作如下:

1、运行convertctb命令,选择一个CAD自带的CTB文件转换为STB文件,保存的时候可以覆盖原有的STB,也可以另取一个名字。

2、然后再运行convertpstyles命令,根据提示选择刚刚转换的STB文件,这样就可以在图中设置STB了,在打印对话框中选择打印样式表就可以看出来。

上面的操作也可以简化,只运行convertpstyles命令就可以切换模式,选择CAD自带的STB文件,但有时会提示文件不包含颜色映射表,不能用于转换图形,如下图所示。

2c38ba9c7ef8875b43b9829ddd8e8386.png

遇到这种情况我们只能选择其他STB文件试试,我们先可以选择Screening 100%.stb这样带颜色映射表的文件,模式切换完后可以在打印对话框选择其他的STB文件,如下图所示。

be1e2daf108872e67538f757f385c01e.png

027c46187a2f6437d3794a4ae5c0f966.png

STB的应用到底与CTB有什么不同呢?

CTB是每种颜色对应一种打印输出设置,STB则是可以用名字定义几种打印输出设置,效果见上面的插图。

打开两张分别使用CTB和STB的图纸,打开图层管理器,就可以很明显地看出区别了,在使用CTB打印样式的图纸中,图层的“打印样式”一栏是灰色的,不能修改,显示的就是颜色编号,与图层颜色对应,例如设置为白色,样式就显示为color_7。而在使用STB的图中,“打印样式”默认为“Normal”或“普通”,并且是可以编辑的,单击后可以在对话框中选择STB文件中设置好的样式,如下图所示。

00e22ce53b9dca1b4e992cb4340ac6af.png

打印样式也是图形的一个基本属性,如果使用STB,我们可以为某个图形单独设置打印样式,如下图所示。

6730b892897770516f4fbaf3b8630cce.png

通过上述的比较大致就可以了解STB的用途了,用STB可以按样式来设置每个图层的打印输出的颜色和线宽设置,结合图层规范,设计单位可以比较容易控制打印效果。只要设计人员使用相同模板,并且严格按照规定将不同类型图形绘制在指定图层上,那打印输出的效果就能保证一致了。

普通设计人员设置并使用STB的人比较少,STB通常是设计单位为控制打印效果,统一设置文件模板时使用,至少我了解到国内的情况是这样的,也不知道对不对。

打印样式管理器

AutoCAD提供了打印样式管理器,在菜单中选择“管理打印样式”后可以自动打开打印样式表的目录,可以创建、编辑和存储CTB和STB文件。在打印样式管理器有一个添加打印样式表向导,可以添加新的打印样式表。

12eacf56c3442e2776761f0867266202.png

双击目录中的CTB和STB文件,可以直接编辑打印样式表。这里跟在打印对话框选定打印样式表后点编辑按钮后的操作一样。

此技巧适用AutoCAD、浩辰CAD等类似的CAD软件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# ObjectARX 是 AutoCAD 的 .NET API,可以通过 C# 代码实现 AutoCAD 的二次开发。下面是按范围打印设置打印样式表的示例代码: ```csharp using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.GraphicsInterface; using Autodesk.AutoCAD.PlottingServices; using Autodesk.AutoCAD.Publishing; namespace MyCommands { public class MyCommandsClass { [CommandMethod("MyPrint")] public void MyPrint() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; // 获取打印范围 PromptPointResult ppr = ed.GetPoint("\n请指定打印范围的第一个角点:"); if (ppr.Status != PromptStatus.OK) return; Point3d pt1 = ppr.Value; ppr = ed.GetCorner("\n请指定打印范围的第二个角点:", pt1); if (ppr.Status != PromptStatus.OK) return; Point3d pt2 = ppr.Value; // 设置打印样式表 string styleSheetName = "MyStyleSheet"; if (!PlotSettingsValidator.StyleSheetExists(styleSheetName)) { PlotSettingsValidator.AddNewStyleSheet(styleSheetName); } PlotSettingsValidator.SetCurrentStyleSheet(styleSheetName); // 创建打印信息 PlotInfo pi = new PlotInfo(); pi.Layout = "*Model_Space"; pi.OverrideSettings = null; // 创建打印设备 PlotSettings ps = new PlotSettings(doc.Editor); ps.CopyFrom(pi); // 设置打印范围 ps.SetPlotWindowArea(pt1, pt2); // 设置打印样式 ps.PlotStyleName = "monochrome.ctb"; // 创建打印对象 PlotInfoValidator piv = new PlotInfoValidator(); piv.MediaMatchingPolicy = MatchingPolicy.MatchEnabled; piv.Validate(pi); // 打印 PlotEngine pe = PlotFactory.CreatePublishEngine(); pe.BeginPlot(null, null); pe.BeginDocument(pi, doc.Name, null, 1, true, null); pe.BeginPage(new PlotPageInfo(), pi, true, null); pe.SetPlotSettings(ps); pe.BeginGenerateGraphics(null); pe.EndGenerateGraphics(null); pe.EndPage(null); pe.EndDocument(null); pe.EndPlot(null); } } } ``` 以上代码实现了按指定范围打印设置打印样式表。需要注意的是,代码中的打印范围是使用 `SetPlotWindowArea` 方法设置的,打印样式表是使用 `PlotStyleName` 属性设置的。你可以根据自己的需要修改这些参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值