AD原理图右下角Title Block信息实时更新的方法(AD20)多图教程

本文介绍如何在AD软件中自定义原理图的TitleBlock,包括创建个性化模板、设置自动更新参数及应用模板到现有文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起源

AD在默认的配置下,每次新建的原理图都在右下角有一个Title Block,但是这个Title Block用法有点儿……怎么说呢,我能想到最恰当的形容词就是——脱了裤子放屁,太累了。使用这个Title Block的话,你先需要修改Options > Document Parameters 里对应的参数(Title Block里有的),改到这里时,Title Block里还是空的。后面的操作就绝了,先Place String,再在文本输入的地方输入"=你想要改变的参数名称",然后你就可以放置字符串在Title Block里面了。(我:???)这和我直接放入字符串有什么区别?好像没有吧?
因此,我开始寻找 一种不那么累的方法,自定义属于自己的Title Block,并且能够把想要修改的参数固化在原理图内部,不能够随意的移动。

操作

下面操作以AD20为例,其他版本类似。
我有空会出一份AD17的教程,现在就先看着AD20吧,大同小异的:

1、找到模板文件所在地址
Tools > Schematic Preferences > Data Management > Templates
工具——原理图优先项——Data Management > Templates
在这里插入图片描述
在这里插入图片描述
这个是模板文件保存的地址,请记住他,打开这个文件夹你可以看见许许多多原理图文件和PCB文件。类似这样的(内容名字不太一样没关系,这个我是改过的)在这里插入图片描述
2、复制一个你需要的尺寸的原理图文件
我不建议直接在原模板上更改,新手容易毁掉哈哈哈哈,我建议复制一个出来弄,文件也不大,别节约这点内存了。
他原先的文件命名方式前面的是图纸的尺寸,A4、A3这些就是尺寸,后面接着_portrait的代表这张图纸是竖着放的,其他是横着放的,找到你需要的图纸复制并重命名,比如我就复制了横着的A3图纸,重命名为A3 日常,名字你自己喜欢起什么都行。
我们只是修改原理图右下角的信息,和PCB无关,因此我们只复制.Sch文件就行

3、编辑刚刚复制出来新建的文件
双击新文件打开,然后你就可以为所欲为了。
什么框的大小,颜色,字体大小,颜色,你爱怎么改就怎么改。
画那个框框我推荐采用放置线这个功能
在这里插入图片描述
然后在框上放置字符串就行,一个你喜欢的自定义右下角Title Block’就完成了。
什么?完成了?并没有!
重点!重点!重点来了!!!!
下面以我的模板为例子
在这里插入图片描述
我需要右下角有这些信息,仔细观察,那个框框,“题目:”、“尺寸:”、“A4”这些字体是固定的,不会随着不同文件改变而改变,就直接放置字符串,上面打字就行了,(这个模板图纸大小就是A4的大小,所以A4两个字也是固定不变的)。
但是! 题目后面跟着的内容,版本号这些可不是每张图纸都一样的,(不然要他干嘛),我们希望题目这些能够跟着我真正使用时候画图所需要更改,那怎么办?
双击字符串,修改文字那里,我们不能直接敲上文字,而是应该放入一个公式。在Text那一行,右边的小三角点开就有一堆让你选择的东西了。
在这里插入图片描述
如果三角展开不了,直接输入=xxx也是一样的。
选择后他以后就可以根据文档自动更改了。

没完!
你以为结束了?没有呢!
我刚刚截图里,版本号写着是1.0,我们要确保这个东西以后使用可更改,又想每次新建默认写着1.0(毕竟不是所有项目都有2.0),这怎么操作?我们看见1.0其实不是我直接敲进去的,我是输入了=revision,你们按照我这样操作就发现,你们显示的是空的?没有1.0出来,那是因为还有很重要的一步没做,定义文档默认属性!

4、定义文档默认属性
在右下角有个panels,左键,在列表中把Properties打上勾。
在这里插入图片描述
选择Parameters
在这里插入图片描述
里面可以看见该文件的基本属性,在里面填上你的信息,这样就可以了。
这样做的目的是保证以后可以修改(平时使用的时候也可以和这个第四步一样修改框框里面的字),又可以保证固定在右下角,新建文件时默认输入的就是模板里设好的字体(像公司、制作者这些一般情况下不会变的我们就可以在模板的文件属性里就先输好,以后新建的时候就快了。)

5、重新设定默认模板文件
这个操作时为了方便以后新建文件的时候默认用的就是刚刚自己弄好的文件,操作如下:
Tools > Schematic Preferences > Schematic > General
工具——原理图优先选项——Schematic 底下的General
在这里插入图片描述
选中你想要的模板文件,然后确定就行,以后新建的原理图默认都是这个模板啦,全部操作就做完啦~

然后下面还有两个经常遇到的问题:
1、我模板右下角显示的东西很奇怪
右上角打开设置
在这里插入图片描述
然后如图选择打开,确保勾是勾选上的。

在这里插入图片描述

2、我现在有一份画好的文件,能换成我刚刚新弄的模板吗?
可以!
设计——模板——通用模板,选择你要的模板就行。
在这里插入图片描述


版权归属:
广东工业大学电子科技协会


### MPC在无人驾驶中生成圆形参考轨迹的代码实现 以下是基于模型预测控制(MPC)用于自动驾驶车辆生成并跟踪圆形参考轨迹的一个具体实现方案。此部分涵盖了理论基础以及Python代码示例。 #### 1. 基本原理 MPC是一种优化驱动的控制器,通过在线解决有限时间最优控制问题来计算当前时刻的最佳输入序列[^1]。对于圆形轨迹跟踪任务,目标是最小化实际路径与期望圆之间的偏差,同时满足系统的动态约束条件。 #### 2. 数学建模 假设无人车的动力学可以用如下离散状态空间方程表示: \[ x_{k+1} = f(x_k, u_k) \] 其中 \(x\) 表示系统状态向量 (位置、速度等),\(u\) 是控制输入 (转向角、加速度等)。为了简化分析,在某些情况下可以采用线性近似形式: \[ x_{k+1} = Ax_k + Bu_k \] 这里 A 和 B 分别代表状态转移矩阵和输入影响矩阵[^2]。 #### 3. 成本函数设计 定义成本函数 J 来衡量未来 N 步内的误差累积情况及其平滑度: \[ J(u_0,...,u_{N-1})=\sum^{N-1}_{i=0}[e_i^TQe_i+\Delta u_i^TR\Delta u_i]+e_N^TP e_N \] 此处 Q,P,R 都是非负定权重矩阵;ei 表达的是第 i 时间步相对于理想圆心的距离差矢量;Δui 则反映了相邻两次动作间的改变幅度[^3]。 #### 4. Python 实现示例 下面给出一段简单的 python 脚本来展示如何利用 casadi 工具包构建这样一个控制系统来进行单圈循环运动模拟实验。 ```python import numpy as np from scipy.linalg import block_diag import matplotlib.pyplot as plt import casadi as cs def mpc_circle_tracking(): # Parameters setup Ts = 0.1 # Sampling time [s] Lf = 2 # Wheelbase length[m] nx = 4 # Number of states: x,y,v,psi nu = 2 # Number of inputs: a,delta T = 5 # Prediction horizon steps R = np.diag([0.01, 0.01]) # Input cost matrix Q = np.eye(nx)*np.array([[1],[1],[0.1],[1]]) # State error cost matrix P = Q # Terminal state weight same as stage one. # Define symbolic variables x = cs.SX.sym('x',nx,T+1) u = cs.SX.sym('u',nu,T) # Dynamics model definition Ad = np.array([ [1.,Ts*np.cos(0),Ts*0,-Ts*(Lf/2)*(np.sin(0))], [0.,1.,Ts/Lf,(Lf/(2*L))*((np.cos(0))-1)], [0.,0.,1.,0.], [0.,0.,0.,1.]]) Bd = np.array([ [Ts**2 / 2 ,0 ], [Ts ,0 ], [(Ts)/L ,0 ], [0 ,(Ts)] ]) g = [] for k in range(T): next_state = Ad @ x[:,k] + Bd @ u[:,k] g.append(next_state-x[:,k+1]) G = cs.vertcat(*g).reshape(-1,) lbG = ubG = np.zeros_like(G.full()) Xref=np.vstack(( np.linspace(0,np.pi,num=T), np.ones((T,)), np.ones((T,))*(v_ref:=10), np.zeros((T,)) )) obj=sum([(xi-Xref[:,t]).T@Q@(xi-Xref[:,t])+ur.T@R@ur \ for t,(xi,ur)in enumerate(zip(x[:,:].T,u[:,:]))])\ +(x[:,-1]-Xref[:,-1]).T@P@(x[:,-1]-Xref[:,-1]) opt_vars = cs.vertcat(cs.vec(x),cs.vec(u)) nlp_prob={'f':obj,'x':opt_vars,'g':G} opts={"ipopt.print_level":0,"print_time":False} solver = cs.nlpsol('solver','ipopt',nlp_prob,opts) res=solver(lbx=-inf,lbg=lbG,ubg=ubG,x0=[0]*len(opt_vars)) return res['x'].full().reshape((-1,nx)),res['u'].full().reshape((-1,nu)) if __name__=='__main__': xs,us=mpc_circle_tracking() fig=plt.figure(figsize=(8,6)) ax=fig.add_subplot(projection='polar') theta=np.arctan(xs[:-1,1]/xs[:-1,0]) r=np.sqrt(xs[:-1,0]**2+xs[:-1,1]**2) ax.plot(theta,r,label="Predicted Path") circle=plt.Circle((0,0),radius=r[-1],color='r',fill=False,alpha=.7) ax.set_title("Circular Reference Trajectory Tracking Using MPC",fontsize=14) ax.legend(loc="upper center"); ``` 该脚本展示了基本框架结构,并提供了初始参数设置作为起点。注意这只是一个非常简化的版本,实际应用可能还需要考虑更细节比如障碍物规避等问题。 #### 结果讨论 运行上述程序后可以看到绘制出来的极坐标显示了预期行驶路线即单位半径圆周上的点分布状况。此外还包含了由算法迭代调整得出的一系列建议操作指令集合(us数组)[^1]. ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫捡球zj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值