You need to use EasyEDA editor to create some projects before publishing
Reset Component ID fails on Schematics with subparts
759 1
andyfierman 2 years ago
The use of Reset Component ID in both the schematic and the PCB as documented here: [https://easyeda.com/forum/topic/How-to-solve-PCB-components-removed-and-added-after-Import-Changes-or-Update-PCB-9dbbeabbfdfa401986fa1d03b2316245](https://easyeda.com/forum/topic/How-to-solve-PCB-components-removed-and-added-after-Import-Changes-or-Update-PCB-9dbbeabbfdfa401986fa1d03b2316245)<br> <br> works well as long as there are no sub-part symbols in the schematic. Recently I have been working on a post-V6.3.39 project where I have replaced non-simulation sub-part symbols with identical spice symbols having identical footprints. On doing Update PCB... or Import Changes... I  have had cases where the Footprints for some parts - but which are **not** represented as sub-parts in the schematic - have been ripped up and placed in the lower right corner of the PCB. If I undo the Changes and do Reset Component ID in both the schematic and the PCB then everything **except** the Footprints of parts that are represented in the schematic by sub-parts are left alone. The sub-part Footprints are still ripped up and moved to the lower right corner of the PCB. In emails to UserSupport a workaround was suggested to me which works but is quite hard to understand and to implement. With reference to this topic: [https://easyeda.com/forum/topic/PCB-looses-part-placement-on-files-from-older-versions-e1e1d333fa2c41198b79cd5b73029bb5](https://easyeda.com/forum/topic/PCB-looses-part-placement-on-files-from-older-versions-e1e1d333fa2c41198b79cd5b73029bb5)<br> <br> and my own recent experiences, it seems that the recommended "Reset Component ID prior to doing Update PCB... or Import Changes..." process fails if there are footprints in the PCB for devices made up from subparts in the schematic. I do not find the workaround suggested by UserSupport easy to understand or to implement so I have tried to formalise the process into the following procedure: ==================== The idea of the ID number is that each element in the PCB is assigned a unique number which is the same as that of the corresponding element in the schematic. Doing Reset Component ID makes the ID number assigned to each element in the PCB the same as that of the corresponding element in the schematic. This idea breaks down however when a footprint is for a schematic element that is made up of more than one symbol because each symbol will be assigned its own unique ID of which only one can be the same as that assigned to the footprint. To try to illustrate this: Suppose there is a part, U1, which has 2 subparts: U1.1 and U1.2, each of which will have an ID which will be unique within the schematic. U1 has a single footprint in the PCB which will have a footprint ID which will be unique within the PCB and will be the same as the ID assigned to **one** of the subpart symbols. There seem to be two problems: EasyEDA does not always assign the Footprint ID from the same subpart. EasyEDA does not use the same subpart to get the reference ID against which to decide that the Footprint ID from the same schematic element and so does not need to be moved in the PCB. Sometimes the footprint ID is the same as that assigned to U1.1. Sometimes the footprint ID is the same as that assigned to U1.2. Sometimes the ID assigned to U1.1 is used to decide if the footprint for U1 should be moved. Sometimes the ID assigned to U1.2 is used to decide if the footprint for U1 should be moved. To deal with this: 1. Do Reset component ID in both the schematic **and** in the PCB; 2. Do Import Changes in the PCB; 3. Apply the Changes but do not save the PCB; Then: If only a few footprints have been moved after doing Reset Component ID and Apply changes then for each footprint that has moved: 1. Note the Prefix; 2. Press Undo (or do CTRL+Z) to undo the Changes. All the footprints should now be back in their original positions; 3. For each footprint that moved, select it; 4. Note the exact X and Y centre locations and the Rotation angle from the right hand panel or Right-click > Attributes (Copy and paste them into a text file); 5. Do Import Changes in the PCB again; 6. Apply the Changes; 7. For each footprint that has moved copy and paste their original X, Y and Rotation values from the text file back into their corresponding attributes; 8. Save the PCB; 9. Do Import Changes in the PCB; 10. Apply the Changes; 11. Save the PCB; 12. Done. <br> <br> If many footprints have been moved after doing Reset Component ID and Apply changes then for each footprint that has moved: 1. For each footprint that has been moved, select it and note the ID from the right hand panel or Right-click > Attributes (Copy and paste them into a text file); 2. Identify these IDs as AFTER IMPORT CHANGES; 3. Press Undo (or do CTRL+Z) to undo the Changes. All the footprints should now be back in their original positions; 4. For each footprint that has been moved, select it and note the ID from the right hand panel or Right-click > Attributes (Copy and paste them into a text file); 5. Identify these IDs as BEFORE IMPORT CHANGES; 6. Do File > Export EasyEDA to download the EasyEDA JSON Source file for the PCB; 7. Make a copy (in case anything goes wrong); 8. Open It in a text editor; 9. For each pair of IDs in the list, do Search and Replace (this is CTRL+H in most text editors) to find the BEFORE IMPORT CHANGES ID and replace it with the AFTER IMPORT CHANGES ID; 10. Click in the text editor window and do Select All (CTRL+A) then Copy (CTRL+C); 11. Do File > File Source to open the original EasyEDA JSON Source file for the PCB; 12. Click in the File Source window and do Select All (CTRL+A) then DEL to delete everything in the window; 13\. Click in the File Source window and do Paste (CTRL+V); 14\. Click Apply; 15\. Save the PCB; 16\. Do Import Changes in the PCB; 17\. Apply the Changes; 18\. Save the PCB; 19\. Done\. * Hopefully this bug will be fixed in the next update. :)
Comments
UserSupport 2 years ago
Yes, the subpart reset component ID will be fixed in next release
Reply
Login or Register to add a comment
goToTop
你现在访问的是EasyEDA海外版,使用建立访问速度更快的国内版 https://lceda.cn(需要重新注册)
如果需要转移工程请在个人中心 - 工程 - 工程高级设置 - 下载工程,下载后在https://lceda.cn/editor 打开保存即可。
有问题联系QQ 3001956291 不再提醒
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow -mockplus- -mockplus- -mockplus- -mockplus- -mockplus- -mockplus- -mockplus- -mockplus-@1x -mockplus-

Cookie Notice

Our website uses essential cookies to help us ensure that it is working as expected, and uses optional analytics cookies to offer you a better browsing experience. To find out more, read our Cookie Notice